<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
	<title>Introduction to PayPal for C# - ASP.NET developers - CodeProject®</title> 
	<link type="text/css" rel="stylesheet" href="Introduction-to-PayPal-for-C-ASP-NET-developers_files/CodeProject.css">

	
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="Description" content="An overview that presents all PayPal integration options, targeted especially at C# developers.; Author: Predrag Tomasevic; Updated: 6 Nov 2009; Section: ASP.NET; Chapter: Web Development; Updated: 6 Nov 2009">
<meta name="Keywords" content=".NET2.0, C#1.0, C#2.0, .NET3.0, C#3.0, .NET3.5, ASP.NET, XML, Architect, Dev, Intermediate, PayPal,ASP.NET,Web Development,Free source code, tutorials">
<meta name="Author" content="Predrag Tomasevic">
<meta name="Rating" content="General">
<meta name="Robots" content="index, follow, NOODP">
<meta name="Revisit-After" content="1 days">
<meta name="application-name" content="The Code Project">
<meta name="google-site-verification" content="RP2bNCUeOmNkkJesEnU8X3UyTbqIcCKP0CmdwU8in5k">

<meta name="msapplication-navbutton-color" content="#FF9900">
<meta name="msapplication-tooltip" content="Your Development Resource.">
<meta name="msapplication-starturl" content="http://www.codeproject.com/?pinned=true">
<meta name="msapplication-task" content="name=Homepage;action-uri=http://www.codeproject.com/;icon-uri=http://www.codeproject.com/favico.ico">
<meta name="msapplication-task" content="name=Latest Articles;action-uri=http://www.codeproject.com/script/articles/Latest.aspx;icon-uri=http://www.codeproject.com/favico.ico">
<meta name="msapplication-task" content="name=Questions and Answers;action-uri=http://www.codeproject.com/script/Answers/;icon-uri=http://www.codeproject.com/favico.ico">
<meta name="msapplication-task" content="name=The Lounge;action-uri=http://www.codeproject.com/Lounge.aspx;icon-uri=http://www.codeproject.com/favico.ico">

<link rel="dns-prefetch" href="http://ajax.googleapis.com/"> 
<link rel="canonical" href="http://www.codeproject.com/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers">


<link rel="alternate" type="application/rss+xml" title="CodeProject Latest articles - All Topics" href="http://www.codeproject.com/WebServices/ArticleRSS.aspx?cat=1">
<link rel="alternate" type="application/rss+xml" title="CodeProject Latest articles - MFC/C++" href="http://www.codeproject.com/WebServices/ArticleRSS.aspx?cat=2">
<link rel="alternate" type="application/rss+xml" title="CodeProject Latest articles - C#" href="http://www.codeproject.com/WebServices/ArticleRSS.aspx?cat=3">
<link rel="alternate" type="application/rss+xml" title="CodeProject Latest articles - VB.NET" href="http://www.codeproject.com/WebServices/ArticleRSS.aspx?cat=6">
<link rel="alternate" type="application/rss+xml" title="CodeProject Latest articles - Mobile" href="http://www.codeproject.com/WebServices/ArticleRSS.aspx?cat=18">
<link rel="alternate" type="application/rss+xml" title="CodeProject Latest articles - ASP.NET" href="http://www.codeproject.com/WebServices/ArticleRSS.aspx?cat=4">

<link rel="alternate" type="application/rss+xml" title="CodeProject Lounge Postings" href="http://www.codeproject.com/webservices/LoungeRSS.aspx">
<link rel="search" type="application/opensearchdescription+xml" title="CodeProject" href="http://www.codeproject.com/info/OpenSearch.xml">

	<!-- base href="http://www.codeproject.com/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers" -->
	<link rel="icon" href="http://www.codeproject.com/favicon.ico" type="image/ico">
<link rel="shortcut icon" href="http://www.codeproject.com/favicon.ico" type="image/ico">
<link rel="apple-touch-icon" href="http://www.codeproject.com/images/FavIcon-Apple.png" type="image/png">
<script type="text/javascript" language="Javascript">//<![CDATA[
if(top!=self && !/https?:\/\/([a-zA-Z]+\.)?facebook.com\//gi.test(top.location.href))top.location.href=location.href; if(typeof(DemoUrl)!='undefined')document.write(unescape('%3Cme')+'ta http'+'-equiv="re'+'fresh" con'+'tent="1;url='+DemoUrl+unescape('"%3CE'));
function SelfCheck(){ return window.confirm("You are about to reply to your own message. Is this really what you want?");}
function FireNew(elm) { window.location=$(elm).find('a')[0].href;}

function MsgVFrm(MemberID,MsgID,GB,gp,bp,mt){
 if(!GB)document.write("Rate this message: ");
 document.write(unescape("%3Ca href=\"#xx" + MsgID.toString() + "xx\" onclick=\"RateMsg(" + MemberID.toString() + ", " + MsgID.toString() + ","));document.write((GB?"5":"1")+unescape(",0);\"%3E"));
 if(GB) document.write(unescape("%3Cimg height=\"20\" width=\"20\" src=\"/script/Forums/Images/good.png\" alt=\"good\" border=\"0\" align=\"absmiddle\" /%3E "+gp+" "+mt+"%3C/a%3E "));
 else document.write(unescape("%3Cimg height=\"14px\" width=\"14px\" src=\"http://s.codeproject.com/script/Forums/Images/thumbs_down.gif\" alt=\"vote 1\" border=\"0\" align=\"middle\" /%3E%3C/a%3E "));
 if(GB)document.write(" &nbsp;"); else for(var i=1; i<=5;i++)
  document.write(unescape("%3Ca class=\"toolbar nav-link\" href=\"#xx" + MsgID.toString() + "xx\" title=\"vote this message a " + i.toString() + "\" onclick=\"RateMsg(" + MemberID.toString() + ", " + MsgID.toString() + ", " + i.toString() + ",0)\"%3E%3Cb%3E" + i.toString() + "%3C/b%3E%3C/a%3E "));
 document.write(unescape("%3Ca href=\"#xx" + MsgID.toString() + "xx\" onclick=\"RateMsg(" + MemberID.toString() + ", " + MsgID.toString() + ","));document.write((GB?"1":"5")+unescape(",0);\"%3E"));
 if(GB)document.write(unescape("%3Cimg height=\"20\" width=\"20\" src=\"/script/Forums/Images/bad.png\" alt=\"bad\" border=\"0\" align=\"absmiddle\" /%3E "+bp+" "+mt+"%3C/a%3E"));
 else document.write(unescape("%3Cimg height=\"14px\" width=\"14px\" src=\"http://s.codeproject.com/script/Forums/Images/thumbs_up.gif\" border=\"0\" alt=\"vote 5\" align=\"middle\" /%3E%3C/a%3E "));
}

function ReportMsg(userid, msgid, score) {
 if (confirm("Are you sure you want this message removed?"))
  return RateMsg(userid, msgid, score, 0);
 else return false;
}
function RateMsg(memberid, msgid, score, questionId) {
 var req = new XMLHttpRequest();
 req.onreadystatechange = function() {
  if (req.readyState == 4){
   if (req.status == 200){
    var respText = req.responseText;
    var re = new RegExp(unescape("\%3Cdiv\%3E(.*)\%3C/div\%3E"), "g");
    var match = re.exec(respText);
    voteStatus.innerHTML = unescape("%3Cb%3E") + (match&&match.length>1&&match[1])?match[1]:"An error occurred" + unescape("%3C/b%3E");
   } else
    voteStatus.innerHTML = unescape("%3Cb style='color:red'%3EFailed!") + req.statusText + unescape("%3C/b%3E");
  }
 }
 var voteStatus = document.getElementById("MVF" + msgid);
 if (!voteStatus) return;
 voteStatus.innerHTML = unescape("%3Cb style='color:green'%3EVoting...%3C/b%3E");
 var strAction = "/script/Forums/Vote.aspx?js=1&fmid="+memberid.toString()+"&select="+msgid.toString()+"&score="+score.toString()+"&qid="+questionId.toString();
 req.open("GET", strAction, true);
 req.send(null);
  return false;
}
var smoothScroll = false;
var Selected = "-1";
function Pin(elm){
 CloseMsg(Selected);
 Selected=''
 var wrk=elm.parentNode; if(wrk)wrk=wrk.children[0];
 var fc=elm?elm.firstChild:null;
 if (wrk&&!wrk.pinned) {
  OpenMsg(wrk.name, true);wrk.pinned=true;fc.src='http://s.codeproject.com/script/forums/images/pinned.gif';fc.title='Pinned. Click to unpin'
 } else {
  wrk.pinned=false;CloseMsg(wrk.name); fc.src='http://s.codeproject.com/script/forums/images/pin.gif';fc.title='Click to pin message'
 }
 return false;
}
function CloseMsg(msgId) {
 if(!msgId||msgId==''||msgId<0)return;
 var lnk=document.getElementsByName(msgId);
 if(lnk&&lnk.length>0&&lnk[0].pinned)return;
 var hed=document.getElementById('F' + msgId.toString() + '_h0');
 if(hed) hed.className = hed.className.replace("Sel", "UnSel");
 var bdy=document.getElementById('F' + msgId.toString() + '_h1');
 if(bdy) bdy.style.display = 'none';
}
function OpenMsg(msgId, keep) {
 if(!msgId||msgId==''||msgId<0)return;
 var bdy=document.getElementById('F' + msgId.toString() + '_h1');
 if(bdy){
  var lnk=document.getElementsByName(msgId);
  if(lnk&&lnk.length>0&&lnk[0].pinned)keep=true;
  if(keep&&bdy.style.display!='none')return;
  if(bdy.style.display=='none') bdy.style.display='';
  else bdy.style.display = 'none';
 }
 var hed=document.getElementById('F' + msgId.toString() + '_h0');
 if (hed) hed.className = hed.className.replace('UnSel', 'Sel');
 if(bdy&&hed&&bdy.style.display!='none'){
  var webkitWeird=document.documentElement.scrollTop < document.body.scrollTop;
  if (!webkitWeird)document.body.scrollTop = getRealPos(hed, 'Top') - document.body.clientHeight/10;
  EnsureMessageVisible(msgId, true);
 }
}
function EnsureMessageVisible(msgID, bShowTop) {
	var webkitWeird = document.documentElement.scrollTop < document.body.scrollTop;
	var msgHeader = document.getElementById('F' + msgID + '_h0');
	var msgBody = document.getElementById('F' + msgID + '_h1');
	if (!msgBody || !msgHeader) return;
	var scrollContainer = document.documentElement;
	var top = getRealPos(msgHeader, 'Top');
	var bottom = getRealPos(msgBody, 'Top') + msgBody.offsetHeight;
	var scrollTop = webkitWeird? scrollTop = document.body.scrollTop:document.documentElement.scrollTop;
	if (scrollTop > top && !bShowTop) scrollTop = top - scrollContainer.clientHeight / 10;
	if (scrollTop + scrollContainer.clientHeight < bottom) scrollTop = bottom - scrollContainer.clientHeight;
	if (scrollTop > top && bShowTop) scrollTop = top - scrollContainer.clientHeight / 10;
 if (smoothScroll){
  if (webkitWeird) $(document.body).stop().animate({'scrollTop' : scrollTop}, 'fast');
  else $(scrollContainer).stop().animate({'scrollTop' : scrollTop}, 'fast');
 } else {
  if (webkitWeird) document.body.scrollTop = scrollTop;
  else scrollContainer.scrollTop = scrollTop;
 }
}
function getRealPos(i,which) {
	iPos = 0;
	while (i!=null)  {
		iPos += i['offset' + which];
		i = i.offsetParent;
	}
	return iPos;
}
var switchCallback;
function SwitchMessage(e, msgId) {
  if (msgId) msgId=msgId.toString();
  else {
    if(!e)e=window.event;
    var target=e.target?e.target:e.srcElement;
    while(target&&target.className!='message-link')target=target.parentNode;
    if(!target||target.className!='message-link')return;
    if(target.pinned){/*Selected='';*/return false;}
    msgId=target.name;
  }
  CloseMsg(Selected)
  if(Selected==msgId) Selected='';
  else { OpenMsg(msgId, false); Selected=msgId;}
  if (e){if(e.preventDefault)e.preventDefault;else e.returnValue=false;}
    if(switchCallback)switchCallback(null, msgId)
  return false;
}


//]]>
</script>

<script src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/ga.js" async="" type="text/javascript"></script></head>	

<body class="firefox firefox10">




<a href="#Main"><img alt="Click here to Skip to main content" class="access-link" src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/t.gif"></a>


<div class="page-background">
	<div id="A" class="container-content">

		
		

		
<div class="alert-bar  overlay " style="">
	<a href="#" class="close-notify">×</a>
	<div>Sign up for our free weekly <a href="http://www.codeproject.com/feature/web-newsletter">Web Developer Newsletter</a>.</div>
</div>

		
		

<div class="container nav-memberbar clearfix">
<div class="member-stats float-left">8,498,619 members and growing! (47,309 online)</div>
<div class="float-left"></div>
<div class="float-right">


<span class="tooltip member-message">
	<img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/envelope11.gif" style="vertical-align: bottom; padding-bottom: 3px;" height="11px" width="11px">
	<div class="tooltip-flyout small-text">
		
		<div id="ctl00_MemberMenu_Messages_Confirm"><a id="ctl00_MemberMenu_Messages_EmailConfirm" href="http://www.codeproject.com/script/Membership/ConfirmEmail.aspx?tg=566261204210512">Your email address needs to be confirmed.</a></div>
		
	</div>
</span><span id="ctl00_MemberMenu_CurRat" class="tooltip">
		<a id="ctl00_MemberMenu_MyProfile" href="http://www.codeproject.com/script/Membership/View.aspx?mid=4727441">Member 4727441</a><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/arrow-down-16.png" style="width: 16px; height: 16px; vertical-align: bottom;">
		<div class="tooltip-flyout" style="width:110px !important">
			<div><a id="ctl00_MemberMenu_MySettingsNonSSL" href="http://www.codeproject.com/script/Membership/Modify.aspx">My Settings</a></div>
			<div><a id="ctl00_MemberMenu_MySettings" href="https://www.codeproject.com/script/Membership/Modify.aspx"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/secure.png" style="vertical-align: middle; border: 0pt none;" height="14px" width="13px">My Settings (SSL)</a></div>
			<div><a id="ctl00_MemberMenu_MyContacts" href="http://www.codeproject.com/script/Membership/ListContacts.aspx">My Contact info</a></div>
			<div><a id="ctl00_MemberMenu_MyBookmarks" href="http://www.codeproject.com/script/Bookmarks/List.aspx?obtid=2">My Bookmarks</a></div>
			
			<div><a id="ctl00_MemberMenu_MyCodeProject" href="http://www.codeproject.com/script/Membership/MyCodeProject.aspx">My Watched Items</a></div>
			<div><a id="ctl00_MemberMenu_MyArticles" href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=4727441">My Articles</a></div>
			<div><a id="ctl00_MemberMenu_MyMessages" href="http://www.codeproject.com/script/Forums/Messages.aspx?fmid=4727441">My Messages</a></div>
			<div><a id="ctl00_MemberMenu_MyQuestions" href="http://www.codeproject.com/script/Answers/MemberPosts.aspx?tab=questions&amp;mid=4727441&amp;showall=True">My Questions</a></div>
			<div><a id="ctl00_MemberMenu_MyAnswers" href="http://www.codeproject.com/script/Answers/MemberPosts.aspx?tab=answers&amp;mid=4727441&amp;showall=True">My Answers</a></div>
			<div><a id="ctl00_MemberMenu_MyComments" href="http://www.codeproject.com/script/comments/MemberComments.aspx?mid=4727441">My Comments</a></div>
			
		</div>
	</span><span id="ctl00_MemberMenu_TotalPoints" title="Total reputation points 374" class="member-rep-box bronze" style="margin-left:0"><a href="http://www.codeproject.com/script/Reputation/List.aspx?mid=4727441">374</a></span>
	&nbsp;
	<a id="ctl00_MemberMenu_Signout" href="http://www.codeproject.com/script/Membership/LogOff.aspx?rp=%2fArticles%2f42894%2fIntroduction-to-PayPal-for-C-ASP-NET-developers">Sign out</a>


</div>

</div>
		

		
		<table border="0" cellpadding="0" cellspacing="0" width="100%">
		<tbody><tr>
			<td class="page-header"><a href="http://www.codeproject.com/"><img id="ctl00_Logo" title="The Code Project" src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/logo225x90.gif" alt="Home" style="border-width: 0px;"></a></td>
			<td class="page-header" align="right">
				<div class="lqm_ad" lqm_publisher="lqm.codeproject.site" lqm_zone="ros" lqm_format="728x90" lqm_country="VN" lqm_tags=".NET2.0,C#1.0,C#2.0,.NET3.0,C#3.0,.NET3.5,ASP.NET,XML,Architect,Dev,Intermediate,PayPal"><iframe id="lqmad1" marginwidth="0" marginheight="0" frameborder="0" height="90" scrolling="no" width="728"></iframe></div>
			</td>
		</tr></tbody></table>

		<table class="contrast1-background extended" cellpadding="0" cellspacing="0"><tbody><tr><td nowrap="nowrap">
			

<div class="navbar clearfix">
<ul id="nav">

<li><a id="ctl00_TopNavBar_Home" class="down" href="http://www.codeproject.com/">Home</a>


</li><li><a id="ctl00_TopNavBar_Art" class="down selected" href="http://www.codeproject.com/script/Articles/Latest.aspx">Articles</a>

	<ul>
		<li><a id="ctl00_TopNavBar_ArtTopicList" class="fly last" onmouseover="ShowMap(this, 'siteMap');" href="http://www.codeproject.com/script/Content/SiteMap.aspx">Chapters and Sections<span class="fly-menu">&gt;</span></a><ul id="ctl00_TopNavBar_MapFlyout"><li>
				<div id="siteMap" class="tooltip-flyout">
					<img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/animated.gif" style="margin: 150px; width: 100px; height: 100px;">
				</div>
			</li></ul>
		</li>
		<li><a id="ctl00_TopNavBar_ArtSearch" class="fly break" href="http://www.codeproject.com/search.aspx">Search</a></li>
		<li><a id="ctl00_TopNavBar_ArtLatestArts" class="fly" href="http://www.codeproject.com/script/Articles/Latest.aspx?at=1,3,7">Latest Articles</a></li>
		<li><a id="ctl00_TopNavBar_ArtLatestTips" class="fly" href="http://www.codeproject.com/script/Articles/Latest.aspx?at=6,8">Latest Tips/Tricks</a></li>
		<li><a id="ctl00_TopNavBar_ArtTop" class="fly" href="http://www.codeproject.com/script/Articles/TopArticles.aspx?ta_so=5">Top Articles</a></li>
		<li><a id="ctl00_TopNavBar_ArtBeginner" class="fly" href="http://www.codeproject.com/search.aspx?aidlst=152&amp;sa_us=True">Beginner Articles</a></li>
		<li id="ctl00_TopNavBar_VideosLink">
			<a id="ctl00_TopNavBar_ArtVideoArticles" class="fly" href="http://www.codeproject.com/script/Articles/VideoArticleList.aspx">Video Articles</a>
		</li>
		<li><a id="ctl00_TopNavBar_ArtBlogArticles" class="fly break" href="http://www.codeproject.com/script/Articles/BlogArticleList.aspx">Technical Blogs</a></li>
		<li><a id="ctl00_TopNavBar_ArtPostArticle" class="fly" href="http://www.codeproject.com/script/Articles/Submit.aspx">Post an Article or Tip</a></li>
		<li><a id="ctl00_TopNavBar_ArtPostBlog" class="fly break" href="http://www.codeproject.com/script/Articles/BlogFeed.aspx">Post your Blog</a></li>
		<li><a id="ctl00_TopNavBar_ArtGuide" class="fly" href="http://www.codeproject.com/info/Submit.aspx">Posting/Update Guidelines</a></li>
		<li><a id="ctl00_TopNavBar_ArtCompetition" class="fly last" href="http://www.codeproject.com/script/Awards/CurrentCompetitions.aspx?cmpTpId=1">Article Competition</a></li>
	</ul>

</li>



<li><a id="ctl00_TopNavBar_Answers" href="http://www.codeproject.com/script/Answers/List.aspx?tab=active">Quick Answers</a>
	<ul>
		<li id="ctl00_TopNavBar_AQL"><a id="ctl00_TopNavBar_ArticleQuestion" class="fly highlight" href="#_comments">Ask a Question about this article</a></li>

		<li><a id="ctl00_TopNavBar_QAAsk" class="fly" href="http://www.codeproject.com/Questions/ask.aspx">Ask a Question</a></li>

		
		<li><a id="ctl00_TopNavBar_QAUnanswered" class="fly" href="http://www.codeproject.com/script/Answers/List.aspx?tab=unanswered">View Unanswered Questions</a></li>
		<li><a id="ctl00_TopNavBar_QALatest" class="fly" href="http://www.codeproject.com/script/Answers/List.aspx?tab=active">View All Questions...</a></li>
		
				<li><a id="ctl00_TopNavBar_QATR_ctl00_Tag" class="fly" href="http://www.codeproject.com/script/Answers/List.aspx?tab=active&amp;alltags=true&amp;tags=81" style="padding-left: 30px;">C# questions</a></li>
			
				<li><a id="ctl00_TopNavBar_QATR_ctl01_Tag" class="fly" href="http://www.codeproject.com/script/Answers/List.aspx?tab=active&amp;alltags=true&amp;tags=85" style="padding-left: 30px;">ASP.NET questions</a></li>
			
				<li><a id="ctl00_TopNavBar_QATR_ctl02_Tag" class="fly" href="http://www.codeproject.com/script/Answers/List.aspx?tab=active&amp;alltags=true&amp;tags=842" style="padding-left: 30px;">VB.NET questions</a></li>
			
				<li><a id="ctl00_TopNavBar_QATR_ctl03_Tag" class="fly" href="http://www.codeproject.com/script/Answers/List.aspx?tab=active&amp;alltags=true&amp;tags=78" style="padding-left: 30px;">C++ questions</a></li>
			
				<li><a id="ctl00_TopNavBar_QATR_ctl04_Tag" class="fly" href="http://www.codeproject.com/script/Answers/List.aspx?tab=active&amp;alltags=true&amp;tags=308" style="padding-left: 30px;">C#4.0 questions</a></li>
			
	</ul>

</li>



<li><a id="ctl00_TopNavBar_Forums" href="http://www.codeproject.com/script/Forums/List.aspx">Discussions</a>

	<ul>
		<li><a id="ctl00_TopNavBar_MessageBoardsAll" class="fly" href="http://www.codeproject.com/script/Forums/List.aspx">All Message Boards...</a></li>
		<li><a class="fly" style="padding-left: 30px;" href="http://www.codeproject.com/Forums/1580997/Application-Lifecycle.aspx">Application Lifecycle<span class="fly-menu">&gt;</span></a>
<ul><li><a class="fly" href="http://www.codeproject.com/Forums/369270/Design-and-Architecture.aspx">Design and Architecture</a></li>
<li><a class="fly" href="http://www.codeproject.com/Forums/1533717/Running-a-Business.aspx">Running a Business</a></li>
<li><a class="fly" href="http://www.codeproject.com/Forums/1533716/Sales-Marketing.aspx">Sales / Marketing</a></li>
<li><a class="fly" href="http://www.codeproject.com/Forums/1651/Collaboration-Beta-Testing.aspx">Collaboration / Beta Testing</a></li>
<li><a class="fly" href="http://www.codeproject.com/Forums/3304/Work-Training-Issues.aspx">Work &amp; Training Issues</a></li>
</ul></li>
<li><a class="fly" style="padding-left: 30px;" href="http://www.codeproject.com/Forums/1627782/Free-Tools.aspx">Free Tools</a>
</li>
<li><a class="fly" style="padding-left: 30px;" href="http://www.codeproject.com/Forums/1647/C-Cplusplus-MFC.aspx">C / C++ / MFC<span class="fly-menu">&gt;</span></a>
<ul><li><a class="fly" href="http://www.codeproject.com/Forums/4486/ATL-WTL-STL.aspx">ATL /  WTL / STL</a></li>
<li><a class="fly" href="http://www.codeproject.com/Forums/3785/Managed-Cplusplus-CLI.aspx">Managed C++/CLI</a></li>
</ul></li>
<li><a class="fly" style="padding-left: 30px;" href="http://www.codeproject.com/Forums/1649/Csharp.aspx">C#</a>
</li>
<li><a class="fly" style="padding-left: 30px;" href="http://www.codeproject.com/Forums/1725/Database.aspx">Database</a>
</li>
<li><a class="fly" style="padding-left: 30px;" href="http://www.codeproject.com/Forums/186301/Hardware-Devices.aspx">Hardware &amp; Devices<span class="fly-menu">&gt;</span></a>
<ul><li><a class="fly" href="http://www.codeproject.com/Forums/1644/System-Admin.aspx">System Admin</a></li>
</ul></li>
<li><a class="fly" style="padding-left: 30px;" href="http://www.codeproject.com/Forums/1606152/Hosting-and-Servers.aspx">Hosting and Servers</a>
</li>
<li><a class="fly" style="padding-left: 30px;" href="http://www.codeproject.com/Forums/1643/Java.aspx">Java</a>
</li>
<li><a class="fly" style="padding-left: 30px;" href="http://www.codeproject.com/Forums/1653293/NET-4-5-and-Visual-Studio-11.aspx">.NET 4.5 and Visual Studio 11</a>
</li>
<li><a class="fly" style="padding-left: 30px;" href="http://www.codeproject.com/Forums/1650/NET-Framework.aspx">.NET Framework</a>
</li>
<li><a class="fly" style="padding-left: 30px;" href="http://www.codeproject.com/Forums/13695/Mobile.aspx">Mobile</a>
</li>
<li><a class="fly" style="padding-left: 30px;" href="http://www.codeproject.com/Forums/1540733/Sharepoint.aspx">Sharepoint</a>
</li>
<li><a class="fly" style="padding-left: 30px;" href="http://www.codeproject.com/Forums/1004257/Silverlight-WPF.aspx">Silverlight / WPF</a>
</li>
<li><a class="fly" style="padding-left: 30px;" href="http://www.codeproject.com/Forums/1646/Visual-Basic.aspx">Visual Basic</a>
</li>
<li><a class="fly" style="padding-left: 30px;" href="http://www.codeproject.com/Forums/1640/Web-Development.aspx">Web Development<span class="fly-menu">&gt;</span></a>
<ul><li><a class="fly" href="http://www.codeproject.com/Forums/12076/ASP-NET.aspx">ASP.NET</a></li>
<li><a class="fly" href="http://www.codeproject.com/Forums/1580227/CSS.aspx">CSS</a></li>
<li><a class="fly" href="http://www.codeproject.com/Forums/1580226/JavaScript.aspx">JavaScript</a></li>
<li><a class="fly" href="http://www.codeproject.com/Forums/1213656/PHP.aspx">PHP</a></li>
</ul></li>
<li><a class="fly" style="padding-left: 30px;" href="http://www.codeproject.com/Forums/1645/Site-Bugs-Suggestions.aspx">Site Bugs / Suggestions</a>
</li>

		<li class="heading">Other Languages<span class="fly-menu">&gt;</span>
		<ul>
		<li><a class="fly" href="http://www.codeproject.com/Forums/1580229/Hindi.aspx">General Indian Topics</a></li>
		<li><a class="fly" href="http://www.codeproject.com/Forums/1580230/Chinese.aspx">General Chinese Topics</a></li>
		</ul>
		</li>
		
	</ul>

</li>

<li><a id="ctl00_TopNavBar_Zones" href="http://www.codeproject.com/Zones/index.aspx">Learning Zones</a>

	<ul>
		<!--<li class="heading">Zones</li>-->
		<li><a href="http://www.codeproject.com/Zones/Commerce/" class="fly">The Commerce Zone</a></li><li><a href="http://www.codeproject.com/Zones/Mobile/" class="fly">The Mobile &amp; App Zone</a></li><li><a href="http://www.codeproject.com/Zones/Cloud/" class="fly">The Cloud Zone</a></li><li><a href="http://www.codeproject.com/Zones/Hardware/" class="fly">The Hardware Zone</a></li><li><a href="http://www.codeproject.com/Zones/Parallelism/" class="fly">The Parallelism Zone</a></li><li><a href="http://www.codeproject.com/Zones/WPF-Silverlight/" class="fly">The WPF / Silverlight Zone</a></li><li><a href="http://www.codeproject.com/Zones/Flex-Flash/" class="fly">The Flex / Flash Zone</a></li><li><a href="http://www.codeproject.com/Zones/HTML-CSS/" class="fly">The HTML5 / CSS3 Zone</a></li><li><a href="http://www.codeproject.com/Zones/SharePoint/" class="fly">SharePoint Zone</a></li><li><a href="http://www.codeproject.com/Zones/SqlServer/" class="fly">The SQL Zone</a></li><li><a href="http://www.codeproject.com/Zones/WhitePapers/" class="fly break">WhitePapers / Webcasts</a></li>
		<li><a id="ctl00_TopNavBar_Solutions" class="fly last" href="http://www.codeproject.com/KB/solution-center/">Solutions Center</a></li>
	</ul>

</li>










<li><a id="ctl00_TopNavBar_Features" href="http://www.codeproject.com/Feature/">Features</a>

	<ul>
		<li><a id="ctl00_TopNavBar_WhosWho" class="fly" href="http://www.codeproject.com/script/Membership/Profiles.aspx">Who's Who</a></li>
		<li><a id="ctl00_TopNavBar_MVPs" class="fly" href="http://www.codeproject.com/script/Awards/MVPWinners.aspx">Most Valuable Professionals</a></li>
		<li><a id="ctl00_TopNavBar_Companies" class="fly break" href="http://www.codeproject.com/script/Membership/Profiles.aspx?mgtid=1&amp;mgm=True">Company Listings</a></li>
		<li><a id="ctl00_TopNavBar_Catalog" class="fly" href="http://www.codeproject.com/script/Catalog/List.aspx">Component &amp; Service Catalog</a></li>
		<li><a id="ctl00_TopNavBar_Comps" class="fly" href="http://www.codeproject.com/script/Awards/CurrentCompetitions.aspx?cmpTpId=1&amp;awsac=true">Competitions</a></li>
		<li><a id="ctl00_TopNavBar_News" class="fly" href="http://www.codeproject.com/script/News/List.aspx">News</a></li>
		<li></li>
		<li><a id="ctl00_TopNavBar_Insider" class="fly" href="http://www.codeproject.com/Feature/Insider/">Daily Insider</a></li>
		<li><a id="ctl00_TopNavBar_Newsletters" class="fly" href="http://www.codeproject.com/script/Mailouts/Archive.aspx?mtpid=1">Newsletter archive</a></li>
		<li><a id="ctl00_TopNavBar_PressRelease" class="fly" href="http://www.codeproject.com/script/PressReleases/Preview.aspx">Press Releases</a></li>
		<li><a id="ctl00_TopNavBar_Surveys" class="fly" href="http://www.codeproject.com/script/Surveys/List.aspx">Surveys</a></li>
		<li><a id="ctl00_TopNavBar_Stuff" class="fly last" href="http://www.codeproject.com/Info/Stuff.aspx">CodeProject Stuff</a></li>
		<li></li>
	</ul>

</li>


<li><a id="ctl00_TopNavBar_Help" href="http://www.codeproject.com/KB/FAQs/">Help!</a>

	<ul>
		<li><a id="ctl00_TopNavBar_HelpWhatIs" class="fly" href="http://www.codeproject.com/info/guide.aspx">What is 'The Code Project'?</a></li>
		<li><a id="ctl00_TopNavBar_HelpGeneral" class="fly" href="http://www.codeproject.com/KB/FAQs/">General FAQ</a></li>
		<li><a id="ctl00_TopNavBar_HelpPostQuestion" class="fly" href="http://www.codeproject.com/Questions/ask.aspx">Post a Question</a></li>
		<li><a id="ctl00_TopNavBar_HelpBugs" class="fly" href="http://www.codeproject.com/Forums/1645/Site-Bugs-Suggestions.aspx">Bugs and Suggestions</a></li>
		<li><a id="ctl00_TopNavBar_HelpSiteMap" class="fly" href="http://www.codeproject.com/script/Content/SiteMap.aspx">Site Directory</a></li>
		<li><a id="ctl00_TopNavBar_HelpAdvertise" class="fly" href="http://lakequincy.com/">Advertise with us</a></li>
		<li><a id="ctl00_TopNavBar_HelpAboutUs" class="fly last" href="http://www.codeproject.com/info/about.aspx">About Us</a></li>
	</ul>

</li>


<li style="margin-left:10px">
<a id="ctl00_TopNavBar_Lounge" class="simple" href="http://www.codeproject.com/Lounge.aspx">The Lounge</a>

	<ul>
		<li><a id="ctl00_TopNavBar_InsiderLnk" class="fly" href="http://www.codeproject.com/Insider.aspx">The Insider News</a></li>
		<li><a id="ctl00_TopNavBar_LoungeLnk" class="fly" href="http://www.codeproject.com/Lounge.aspx">The Lounge &nbsp;</a></li>
		<li><a id="ctl00_TopNavBar_CleverLnk" class="fly" href="http://www.codeproject.com/feature/CleverCode.aspx">Clever Code</a></li>
		<li><a id="ctl00_TopNavBar_ShameLnk" class="fly" href="http://www.codeproject.com/Feature/HallOfShame.aspx">Hall of Shame</a></li>
		<li><a id="ctl00_TopNavBar_SoapBoxLnk" class="fly" href="http://www.codeproject.com/Forums/1536756/The-Soapbox.aspx">The Soapbox</a></li>
	</ul>

</li>

</ul>

</div>

<script type="text/javascript">

function ShowMap(prnt, elmId) {
	var map = $('#' + elmId);
	
	if (!prnt.populated && !prnt.populating) {
		prnt.populating = true;
		map.css( { 'height': '400px', 'width': '400px' });
		map.load("/script/content/ajax/SiteMap.aspx", function() { prnt.populated = true; });
		prnt.populated = true;
		prnt.populating = false;
	}

	if (prnt.populated) {
		var left = Math.max(map.parent().offset().left, 200);
		var top = Math.max(map.parent().offset().top, 0);
		var width = Math.min((($(window).width()-left) * 0.9), 1000);
		var height = Math.min((($(window).height()-top) * 0.9), 700);
		map.css('width', width + 'px');
		map.css('height', height + 'px');
		map.css('overflow', 'auto');
		map.css('margin', '0');
	}
}

</script>
		</td><td align="right">
			

<div class="search-bar">

<form method="get" action="/search.aspx" name="Search" class="tight">


<table class="search" border="0" cellpadding="0" cellspacing="0"><tbody><tr><td><input tabindex="2" class="search  subdue" id="sb_tb" value="Search site" name="q"></td><td><input src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/search.gif" type="image"></td></tr></tbody></table>

<div class="hover-container">
	<div style="display: none;" id="SearchFilter" class="search-advanced small-text align-left">
	<b>Search within:<br></b>
		
		<input id="sb_kw" name="sbo" value="kw" checked="checked" type="radio"><label for="sb_kw">Articles</label><br>
<input id="sb_qa" name="sbo" value="qa" type="radio"><label for="sb_qa">Quick Answers</label><br>
<input id="sb_fm" name="sbo" value="fm" type="radio"><label for="sb_fm">Messages</label><br>
<input id="sb_ctlk" name="sbo" value="ctlk" type="radio"><label for="sb_ctlk">Product Catalog</label><br>


		
		
	</div>
</div>
</form>

</div>
		</td></tr></tbody></table>
		

		
		<div class="container-article hreview-aggregate"> 
		
			
			<div class="container-header">
				<div id="ctl00_Header" class="header">

					<a name="Main"></a>

					
					<a name="_articleTop" id="_articleTop"></a>
					

<div class="clearfix hover-container">

	
	<div class="float-right action-links"> 
		<span id="SBI"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/share_drop24.png" id="ctl00_TitleArea_ActionLinks_AddTo_Img" alt="add" style="vertical-align: middle;" height="24" width="37">
</span>
<div style="left: 605px; top: 20.5px;" id="ATD" class="list-socialbookmark"><div><a class="AddTo" title="Add this page to Twitter" onclick="return socialLinks.addto(0);" href="#"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/AddTo_Twitter.gif" border="0" height="16px" width="16px" align="absmiddle"> Twitter</a> </div><div><a class="AddTo" title="Add this page to Digg" onclick="return socialLinks.addto(1);" href="#"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/AddTo_Digg.png" border="0" height="16px" width="16px" align="absmiddle"> Digg</a> </div><div><a class="AddTo" title="Add this page to Facebook" onclick="return socialLinks.addto(2);" href="#"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/AddTo_Facebook.png" border="0" height="16px" width="16px" align="absmiddle"> Facebook</a> </div><div><a class="AddTo" title="Add this page to Del.icio.us" onclick="return socialLinks.addto(3);" href="#"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/AddTo_Delicious.png" border="0" height="16px" width="16px" align="absmiddle"> Del.icio.us</a> </div><div><a class="AddTo" title="Add this page to Reddit" onclick="return socialLinks.addto(4);" href="#"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/AddTo_Reddit.png" border="0" height="16px" width="16px" align="absmiddle"> Reddit</a> </div><div><a class="AddTo" title="Add this page to Stumbleupon" onclick="return socialLinks.addto(5);" href="#"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/AddTo_stumbleupon.png" border="0" height="16px" width="16px" align="absmiddle"> Stumbleupon</a> </div><div><a class="AddTo" title="Add this page to Newsvine" onclick="return socialLinks.addto(6);" href="#"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/AddTo_Newsvine.png" border="0" height="16px" width="16px" align="absmiddle"> Newsvine</a> </div><div><a class="AddTo" title="Add this page to Technorati" onclick="return socialLinks.addto(7);" href="#"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/AddTo_Technorati.png" border="0" height="16px" width="16px" align="absmiddle"> Technorati</a> </div><div><a class="AddTo" title="Add this page to Mr. Wong" onclick="return socialLinks.addto(8);" href="#"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/AddTo_MrWong.png" border="0" height="16px" width="16px" align="absmiddle"> Mr. Wong</a> </div><div><a class="AddTo" title="Add this page to Yahoo!" onclick="return socialLinks.addto(9);" href="#"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/AddTo_Yahoo.png" border="0" height="16px" width="16px" align="absmiddle"> Yahoo!</a> </div><div><a class="AddTo" title="Add this page to Google" onclick="return socialLinks.addto(10);" href="#"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/AddTo_Google.png" border="0" height="16px" width="16px" align="absmiddle"> Google</a> </div><div><a class="AddTo" title="Add this page to Windows Live" onclick="return socialLinks.addto(11);" href="#"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/AddTo_Live.png" border="0" height="16px" width="16px" align="absmiddle"> Windows Live</a> </div><div><a class="AddTo" title="Send as Email" onclick="return socialLinks.addto(12);" href="#"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/envelope.gif" border="0" height="16px" width="16px" align="absmiddle"> Send as Email</a> </div></div> 
 

<span class="tooltip">
	<a id="ctl00_TitleArea_ActionLinks_ArticleBmk_ImgBt" title="Bookmark" alternatetext="Bookmark" name="bm_42894_2" onclick="return bookmarkMe(42894,2,'/script/Bookmarks/Ajax/Add.aspx?obid=42894&amp;obtid=2&amp;action=AddBookmark&amp;bio=true',true);" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=42894&amp;obtid=2&amp;action=AddBookmark&amp;bio=true" style="display: inline-block; height: 24px; width: 24px; vertical-align: middle; border: 0pt none;"><img title="Bookmark" src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/bookmark.png" alt="" style="border-width: 0px;"></a>


<span id="ctl00_TitleArea_ActionLinks_ArticleBmk_StatusMsg" class="tiny-text" style="display:none" name="bm_42894_2"></span>
 
	<div class="speech-bubble-container-up">
		<div class="speech-bubble-up">Add to your CodeProject bookmarks</div>
		<div class="speech-bubble-pointer-up">
			<div class="speech-bubble-pointer-up-inner"></div>
		</div>
	</div>
</span>

<a id="discussAnch" href="#_comments" class="tooltip anchorLink">
	
	<img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/discuss.gif" alt="Discuss" style="vertical-align: middle; border: 0pt none;" height="24px" width="24px">
	<div class="speech-bubble-container-up">
		<div class="speech-bubble-up">Discuss this article</div>
		<div class="speech-bubble-pointer-up">
			<div class="speech-bubble-pointer-up-inner"></div>
		</div>
	</div>
</a>

<span id="ctl00_TitleArea_ActionLinks_cmtcnt" class="subdue small-text align-middle" style="margin-left:-4px">120</span>

<a id="ctl00_TitleArea_ActionLinks_PrintLnk" class="tooltip" href="http://www.codeproject.com/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers?display=Print">
	<img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/print.gif" style="vertical-align: middle; border: 0pt none;" height="24px" width="24px">
	<div class="speech-bubble-container-up">
		<div class="speech-bubble-up">Print Article</div>
		<div class="speech-bubble-pointer-up">
			<div class="speech-bubble-pointer-up-inner"></div>
		</div>
	</div>
</a>
	</div>

	<div class="container">
		
		<div class="breadcrumb float-left"><a href="http://www.codeproject.com/script/Content/SiteMap.aspx"><span class="sitemap-anchor" onmouseover="ShowMap(this,'map');"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/sitemap16.png" alt="Site map" style="vertical-align: middle;" border="0" height="16px" width="16px"><div id="map" class="tooltip-flyout"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/animated.gif" style="margin: 150px; width: 100px; height: 100px; border: 0pt none;"></div></span></a> » <a href="http://www.codeproject.com/Chapters/2/Web-Development.aspx">Web Development</a> » <a href="http://www.codeproject.com/KB/aspnet/">ASP.NET</a> » <a href="http://www.codeproject.com/KB/aspnet/#Samples">Samples</a></div>
	</div>

	
	<div id="ctl00_TitleArea_InfoArea" class="float-right pad-top">
		

<div class="infobox">
	<table class="tight small-text" cellpadding="0" cellspacing="1">
	<tbody><tr><td>Licence&nbsp;</td><td><a href="http://www.codeproject.com/info/cpol10.aspx" title="The Code Project Open License (CPOL)">CPOL</a></td></tr>
	
	<tr><td>First Posted&nbsp;</td><td nowrap="nowrap"><b>7 Oct 2009</b></td></tr>
	<tr><td>Views&nbsp;</td><td><b>217,201</b></td></tr>
	
	<tr><td>Downloads&nbsp;</td><td><b>8,178</b></td></tr>
		
	
	<tr><td>Bookmarked&nbsp;</td><td><b>354 times</b></td></tr>
	

	
	
	</tbody></table>
</div>	
	</div>

	
	<div class="item">
	<h1 id="ctl00_TitleArea_ArticleTitle" class="fn">Introduction to PayPal for C# - ASP.NET developers</h1> 
	</div>

	
	<div class="author">
		By <b><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=4273880">Predrag Tomasevic</a></b> | 
		7 Nov 2009 
		

		
		
	</div>
	
	<div class="tags">
	<span id="ctl00_TitleArea_TagsList_TagWrp" class="tags">
	
	
	
	<span id="ctl00_TitleArea_TagsList_VisibleTags"><span class="t"><a href="http://www.codeproject.com/search.aspx?aidlst=12">.NET2.0</a></span><span class="t"><a href="http://www.codeproject.com/search.aspx?aidlst=64">C#1.0</a></span><span class="t"><a href="http://www.codeproject.com/search.aspx?aidlst=65">C#2.0</a></span><span class="t"><a href="http://www.codeproject.com/search.aspx?aidlst=66">.NET3.0</a></span><span class="t"><a href="http://www.codeproject.com/search.aspx?aidlst=69">C#3.0</a></span><span class="t"><a href="http://www.codeproject.com/search.aspx?aidlst=76">.NET3.5</a></span><span class="t"><a href="http://www.codeproject.com/search.aspx?aidlst=85">ASP.NET</a></span><span class="t"><a href="http://www.codeproject.com/search.aspx?aidlst=88">XML</a></span><span class="t"><a href="http://www.codeproject.com/search.aspx?aidlst=116">Architect</a></span><span class="t"><a href="http://www.codeproject.com/search.aspx?aidlst=118">Dev</a></span></span><acronym id="ctl00_TitleArea_TagsList_HiddenTags" title="plus: Intermediate, PayPal">, +</acronym> 

	
	
</span>

	</div>

	
	<div class="abstract summary"><span id="ctl00_TitleArea_ArticleDescr">An overview that presents all PayPal integration options, targeted especially at C# developers.</span></div>
</div>



					

				</div>

				<div id="ctl00_HeadSide" class="header-sidebar">
					<div class="align-left" style="height:24px">
						


&nbsp;










					</div>

					<div id="ctl00_SeeAlso_ZL" class="zone">

	Part of <a id="ctl00_SeeAlso_ZoneLink" class="bold" href="http://www.codeproject.com/Zones/Commerce/">The Commerce Zone</a>
	
	
</div>

<div class="bold pad-top">See Also</div>
<ul class="outdent small-text" style="margin-left:5px">
	<li><a id="ctl00_SeeAlso_LikeThis" href="http://www.codeproject.com/search.aspx?q=Introduction++PayPal+for+C%23++ASP.NET+developers">More like this</a></li>
	<li><a id="ctl00_SeeAlso_ByAuthor" href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=4273880">More by this author</a></li>
</ul>

				</div>

			</div>
			

			
			<div id="ctl00_Nav" class="container-nav">
				<div id="ctl00_TabContainer" class="tabs-container clearfix">

					<div class="float-left">
						
						

<div class="tabs float-left"><table cellpadding="0" cellspacing="0"><tbody><tr>
	<td class="tab-selected">Article</td><td class="tab-unselected"><a href="http://www.codeproject.com/script/Articles/ViewDownloads.aspx?aid=42894">Browse Code</a></td><td class="tab-unselected"><a href="http://www.codeproject.com/script/Articles/Statistics.aspx?aid=42894">Stats</a></td><td class="tab-unselected"><a href="http://www.codeproject.com/script/Articles/ListVersions.aspx?aid=42894">Revisions (10)</a></td>
</tr></tbody></table></div>	


						
						<div class="float-left" style="margin-left:15px">
							<div id="ctl00_CurRat" class="tooltip" name="CurRat_42894">
								

<table class="small-text" cellpadding="0" cellspacing="0">
<tbody><tr>
	
	<td class="nowrap">

		<span id="ctl00_ArticleRating_VI">
		<div class="nowrap rating-stars" style="height:24px;width:120px;position:relative;">
	<div class="clipped align-left float-left" style="height:24px;width:118px;">
		<img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/stars-fill.png" style="border-width: 0px;">
	</div><div class="clipped" style="height:24px;width:2px;position:relative;">
		<img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/stars-empty.png" style="border-width: 0px; position: absolute; top: 0pt; right: 0pt;">
	</div>
</div>
		</span>

		
	</td>
	
	<td id="ctl00_ArticleRating_VR" class="nowrap">
		&nbsp;
		<span id="ctl00_ArticleRating_VotesR">&nbsp;<span class="rating">4.92</span> (<span class="count">128 votes</span>)</span>
		
	</td>

</tr>

</tbody></table>

								<div id="ctl00_RB" class="speech-bubble-container-up">
									<div class="speech-bubble-up" style="width:150px !important">
										            
<div>
<table class="feature" title="Voting Distribution. Recent data only" cellpadding="0" cellspacing="0" height="50px" width="100%"><tbody><tr><td class="chart-column rating-ignore-vote" title="Outside deviation limits - not included in score."><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/pollcol.gif" alt="1 vote, 0.8%" title="1 vote, 0.8%" border="0px" height="1px" width="20pxpx"><br><span title="1 vote">1</span></td>
<td class="chart-column rating-ignore-vote" title="Outside deviation limits - not included in score."><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/t_003.gif" alt="" title="" border="0px" height="1px" width="20pxpx"><br><span title="0 votes">2</span></td>
<td class="chart-column rating-ignore-vote" title="Outside deviation limits - not included in score."><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/pollcol.gif" alt="6 votes, 4.7%" title="6 votes, 4.7%" border="0px" height="2px" width="20pxpx"><br><span title="6 votes">3</span></td>
<td class="chart-column"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/pollcol.gif" alt="10 votes, 7.8%" title="10 votes, 7.8%" border="0px" height="4px" width="20pxpx"><br><span title="10 votes">4</span></td>
<td class="chart-column"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/pollcol.gif" alt="111 votes, 86.7%" title="111 votes, 86.7%" border="0px" height="50px" width="20pxpx"><br><span title="111 votes">5</span></td>
</tr></tbody></table><div class="small-text align-center">4.92/5 - 128 votes</div><div class="small-text align-center subdue">7 removed</div><div class="small-text align-center subdue">μ 4.82, σ<sub>a</sub> 1.04 [<a href="http://www.codeproject.com/KB/FAQs/RatingReputationFAQ.aspx#noisefilter">?</a>]</div>
</div>
									</div>
									<div class="speech-bubble-pointer-up">
										<div class="speech-bubble-pointer-up-inner"></div>
									</div>
								</div>
							</div>
						</div>

						<div class="float-left">
							&nbsp; 
						</div>

					</div>

				</div>

				
			</div>
			

			
			<div class="container-text">

				<div id="AT" class="text">
					
					
					
					

					   

						
							
			
					<div id="ctl00_confirmError" class="callout small-text" style="padding:10px;margin:20px;"><img style="float: left; margin-right: 10px;" src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/warning_32.png" height="32px" width="32px"><b>Is your email address OK?</b>
					You are signed up for our newsletters but your email address is either unconfirmed, or has not 
					been reconfirmed in a long time. Please click 
					<a id="ctl00_RequestConfirmLink2" href="http://www.codeproject.com/script/Membership/SendConfirmRequest.aspx?rp=%2fArticles%2f42894%2fIntroduction-to-PayPal-for-C-ASP-NET-developers%2f">here</a> to have a 
					confirmation email sent so we can confirm your email address and start sending you newsletters 
					again. Alternatively, you can 
					<a id="ctl00_SubscribeLink2" href="http://www.codeproject.com/script/Membership/Subscribe.aspx?rp=%2fArticles%2f42894%2fIntroduction-to-PayPal-for-C-ASP-NET-developers%2f">update your subscriptions</a>.</div><form name="aspnetForm" method="post" action="/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers" id="aspnetForm" style="margin:0;padding:0">
<div>
<input name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMjExOTQzNjk4Mw9kFgJmD2QWAgIGD2QWBgIRD2QWAgIBD2QWBmYPDxYCHgtOYXZpZ2F0ZVVybAUyL3NjcmlwdC9BcnRpY2xlcy9BZG1pbi9FZGl0b3JDaG9pY2UuYXNweD9haWQ9NDI4OTRkZAICDw8WAh8ABTgvc2NyaXB0L0F3YXJkcy9BZG1pbi9Bd2FyZE9iamVjdC5hc3B4P29iaWQ9NDI4OTQmb2J0aWQ9MmRkAgoPDxYCHwAFLy9zY3JpcHQvQXJ0aWNsZXMvQWRtaW4vUXVldWVFZGl0LmFzcHg/YWlkPTQyODk0ZGQCFQ9kFgICDQ9kFggCAQ8WAh4HVmlzaWJsZWcWBAIBDw8WAh8ABXYvc2NyaXB0L01lbWJlcnNoaXAvU2VuZENvbmZpcm1SZXF1ZXN0LmFzcHg/cnA9JTJmQXJ0aWNsZXMlMmY0Mjg5NCUyZkludHJvZHVjdGlvbi10by1QYXlQYWwtZm9yLUMtQVNQLU5FVC1kZXZlbG9wZXJzJTJmZGQCAw8PFgIfAAVtL3NjcmlwdC9NZW1iZXJzaGlwL1N1YnNjcmliZS5hc3B4P3JwPSUyZkFydGljbGVzJTJmNDI4OTQlMmZJbnRyb2R1Y3Rpb24tdG8tUGF5UGFsLWZvci1DLUFTUC1ORVQtZGV2ZWxvcGVycyUyZmRkAgIPFgIeBmFjdGlvbgU/L0FydGljbGVzLzQyODk0L0ludHJvZHVjdGlvbi10by1QYXlQYWwtZm9yLUMtQVNQLU5FVC1kZXZlbG9wZXJzFggCAw9kFgICAQ8WAh8BaGQCBQ9kFgICAg9kFgICAQ8QZGQWAGQCCw8WAh4LXyFJdGVtQ291bnQCAWQCDQ9kFgICAQ8WAh4EVGV4dAVmPGEgIGhyZWY9Ii9BcnRpY2xlcy80Mjg5NC9JbnRyb2R1Y3Rpb24tdG8tUGF5UGFsLWZvci1DLUFTUC1ORVQtZGV2ZWxvcGVycyNfYXJ0aWNsZVRvcCI+QXJ0aWNsZSBUb3A8L2E+ZAIJDw8WBB8EBQlQZXJtYWxpbmsfAAU/L0FydGljbGVzLzQyODk0L0ludHJvZHVjdGlvbi10by1QYXlQYWwtZm9yLUMtQVNQLU5FVC1kZXZlbG9wZXJzZGQCGA8WAh8EBSNDb3B5cmlnaHQgMjAwOSBieSBQcmVkcmFnIFRvbWFzZXZpY2QCFw9kFgICBQ8PFgIfAWhkZGQcnXnVHwd5B515MhX9i4dc5T+i0g==" type="hidden">
</div>

<div>

	<input name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWCALLmr3uAgLAlMXDBwLBlMXDBwLClMXDBwLDlMXDBwLElMXDBwLP+++tCwK5upDkC2T8dYwkiUPupfWLEIA8fI0VCa6U" type="hidden">
</div>

						

						<!-- Article Text Start -->
						<div id="contentdiv">
						



<ul class="download">
<li><a href="http://www.codeproject.com/KB/aspnet/paypal_c_aspnet/paypal_src.zip">Download source - 166 KB</a></li>
</ul>

<h2>Index</h2>

<ul>

<li><a href="#PayPalIntroduction">PayPal Introduction</a></li>

<li><a href="#GettingStarted">Getting Started with PayPal</a></li>

<li><a href="#SettingUpAccount">Setting up a Test Account</a></li>

<li><a href="#WebStandard">Website Payments Standard (HTML)</a></li>

<li><a href="#PostPayment">PostPayment processing</a></li>

<ul>
<li><a href="#AutoReturn">AutoReturn</a></li>

<li><a href="#PDT">Direct Payment (PDT)</a></li>

<li><a href="#IPN">Instant Payment Notification (IPN)</a></li>
</ul>

<li><a href="#API">PayPal API</a></li>

<ul>
<li><a href="#ExpressCheckout">Express Checkout</a></li>

<li><a href="#DirectPayment">Direct Payment (Website Payments Pro)</a></li>

</ul>

<li><a href="#Conclusion">Conclusion</a></li>

<li><a href="#History">History</a></li>
</ul>

<h2><a id="PayPalIntroduction"></a>Introduction</h2>

<p>PayPal is probably one of the first things that gets mentioned once 
you start discussion on online payments. It’s not so without reason – in
 2008, PayPal moved over 60 billion dollars between accounts which is, 
you’ll agree, a respectable amount. And also, all trends show that this 
growth will continue – with huge number of new accounts (over 184 
million accounts in 2008 compared to 96.2 million in 2005), with a new 
platform named <a href="https://www.paypal-communications.com/innovate2009/" target="paypal_c_aspnet">PayPal X</a>, and with more cool applications that involve paying (like <a href="https://twitpay.me/" target="paypal_c_aspnet">Twitpay</a>), you can bet that PayPal is here to stay. So, how can you join the whole PayPal Development movement?</p>

<p>Unfortunately, I would say – not so easily. When I first started with
 PayPal integration - it was hard, really hard. If you wish to see what I
 mean, just jump to the <a href="https://www.paypal.com/integration" target="paypal_c_aspnet">PayPal Developer Center</a>.
 There is no way you’ll easily fish out what you need from that site if 
you are a PayPal newbie; simply - there are too many links, too many 
resources, and too many mixings of important and not-so-important 
information. So, how should you start?</p>

<h2><a id="GettingStarted"></a>Getting Started with PayPal</h2>

<p>To those who really want to get into PayPal, and are willing to shell out some buck, I would recommend the <a href="http://www.amazon.com/gp/product/1590597508?ie=UTF8&amp;tag=codeproject-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=1590597508" target="paypal_c_aspnet">Pro PayPal E-Commerce</a><img class=" wrjwrbrrohxmcfscyiku wrjwrbrrohxmcfscyiku spdbggnjibgoekyeqeao spdbggnjibgoekyeqeao spdbggnjibgoekyeqeao spdbggnjibgoekyeqeao spdbggnjibgoekyeqeao spdbggnjibgoekyeqeao spdbggnjibgoekyeqeao spdbggnjibgoekyeqeao spdbggnjibgoekyeqeao odeswrvmokalfnfmkaxm" style="border: medium none; margin: 0px;" src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/ir.gif" complete="true" border="0" height="1" width="1">
 book - that’s how I eventually got into understanding the concepts 
behind PayPal integration. For those who are not so eager to pay – don’t
 worry, that’s why this article is here... I'll go over most of the 
stuff that book covers, but in a more brief and concise manner.</p>

<p>First and foremost - understanding what kinds of integration PayPal 
offers is, I would say, the most important thing in order to 
successfully start your development journey. A common mistake, that 
happened to me also, is to start at once with the PayPal API and Express
 Checkout. I mean it’s natural - we are developers, and when they tell 
us to integrate with something, the first thing we look for is the SDK 
&amp; API… the PayPal API comes up as a result… we say “That’s it” to 
ourselves… and start working. The problem is – the majority of payment 
scenarios can be handled with a way simpler approach - HTML forms that 
are part of the Website Payments Standard.</p>

<p>So, without further ado, here is a classification of PayPal integrations:</p>

<ul>
<li>Website Payments Standard (HTML)</li>

<li>Postpayment Processing</li>

<ul>
<li>AutoReturn</li>

<li>Payment Data Transfer (PDT)</li>

<li>Instant Payment Notification (IPN)</li>
</ul>

<li>PayPal API</li>

<ul>
<li>Express Checkout</li>

<li>Direct Payment (Website Payments Pro)</li>
</ul>

<li>Payflow Gateway</li>

</ul>

<p>Items in classification are also ordered in a way I would suggest for
 everyone to follow. So, if you are new to PayPal – first learn all of 
the options that you have with the Website Payments Standard (HTML). 
Then, if you need to add some basic post-payment processing, see if 
Auto-Return or PDT will solve your problem… if not, IPN is a more robust
 option you have at your disposal.</p>

<p>The next level would involve the PayPal API and implementing the 
Express Checkout, which is the most flexible PayPal integration 
solution. And finally, if you long for the ability to directly process 
credit cards on your website, you’ll pay a monthly fee to PayPal and 
implement Direct Payment (effectively getting what is called Website 
Payments Pro).</p>

<p>The last item from our classification - the Payflow Gateway is, on 
the other hand, a different beast. It doesn’t “update the stack” in a 
way the previously mentioned technologies do. It is a solution aimed 
specifically at those businesses that have/want an Internet Merchant 
Account (IMA) and just need the payment gateway. In order to keep the 
article consistent, I’ll skip explaining the details of the Payflow 
Gateway. However, if you have any questions related to it, feel free to 
leave a message in the comments section and I’ll try to answer.</p>

<p>That said, let’s get to setting up a test PayPal account, and then 
we’ll delve deeper into describing the mentioned integrations.</p>

<h2><a id="SettingUpAccount"></a>Setting up a Test Account</h2>

<p>Word of notice – you’ll want to follow this step even if you already 
have a live PayPal account. There are two reasons for using test 
accounts:</p>

<ul>
<li>you don’t want to test and play with real money</li>

<li>you want to have access to different <a href="http://www.paypal.com/cgi-bin/webscr?cmd=xpt/cps/general/PayPalAccountTypes-outside" target="paypal_c_aspnet">types of PayPal accounts</a></li>

<ul>
<li>Personal account – most people have these; just an account that 
allows you to use PayPal when paying for stuff online. Theoretically, 
you can use a Personal account to accept money; just know that you’ll be
 severely constrained – there is a $500 receiving limit per month, and 
you are only able to accept one time payments using the Website Payments
 Standard (HTML). The big advantage of a Personal account is that you 
don’t need to pay any transaction fee when receiving money. Note, 
however, that if you receive more than $500 in one month, you’ll be 
prompted to either upgrade to a Premier/Business account or reject the 
payment.</li>

<li>Premier account – step up from a personal account; for anyone who 
wants to run a personal online business. This type of account has all of
 the integration options (accepting credit cards, recurring payments, 
PayPal API). However, most people skip directly from Personal to 
Business account as Premier account has the same <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_display-receiving-fees-outside&amp;countries=" target="paypal_c_aspnet">transaction fees</a>
 (in most cases, 2.9% + $0.30 per transaction) while lacking reporting, 
multi-user access, and other advanced merchant services of the Business 
account.</li>

<li>Business account – it has all of the features of the Premier account
 plus a few more (ability to operate under your business’s name is one 
of them). If you are developing a website that needs to accept payments 
in 99% of situations, you’ll go with this type of account.</li>
</ul>
</ul>

<p>To start, visit the PayPal Sandbox and sign-up for a new account. The
 process is straightforward, and most developers should have no trouble 
finishing it. However, here are the pictures that will help you navigate
 through the process:</p>

<p><img alt="Signing up for sandbox account" src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/Snap1.jpg" border="1" height="389" width="500"></p>

<div class="Caption">Signing up for a Sandbox account</div>

<p><img alt="Filling in details of your sandbox account" src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/Snap2.jpg" border="1" height="397" width="483"></p>

<div class="Caption">Filling in the details of your Sandbox account</div>

<p>Once done with entering the details for your Sandbox account, you'll 
need to check the email you provided in order to complete the 
registration. After that, you'll be able to login and start creating 
Sandbox PayPal accounts. Clicking on <strong>Test Accounts</strong> (menu on the left), and then Create Account: <strong>Preconfigured</strong> - will get you a form like the one on the image below:</p>

<p><img alt="Creating a Sandbox Test Account" src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/Snap4.jpg" border="1" height="397" width="483"></p>

<div class="Caption">Creating a Sandbox test account</div>

<p>Clarification of Account Type radio buttons: by selecting Buyer, 
you'll create a Personal account, and by selecting Seller, you'll create
 a Business account. For testing most integration scenarios, you'll need
 both accounts, so be sure to create them. Here is what you should 
eventually have on your screen after you click on <strong>Test Accounts</strong>:</p>

<p><img alt="Overview of your testing accounts" src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/Snap5.jpg" border="1" height="397" width="483"></p>

<div class="caption">Overview of your testing accounts</div>

<p>Checking the radio button next to any of the accounts from the list 
and clicking on Enter Sandbox Test Site should bring up the Sandbox 
PayPal site which will allow you to login and administer your account in
 the same way as with a regular PayPal account. The only difference is 
that you'll have a huge PayPal Sandbox header and text that displays the
 email address of your developer account. To see what I'm talking about,
 check the image below:</p>

<p><img alt="Administering PayPal Sandbox account" src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/Snap6.jpg" border="1" height="397" width="495"></p>

<div class="Caption">Administering a PayPal Sandbox account</div>

<p>Last but not least - in order to use your Sandbox account for testing, you need to be logged in with your <a href="https://developer.paypal.com/" target="paypal_c_aspnet">developer account</a>. If you are not logged in and you follow some payment link, you'll get the following screen:</p>

<p><img alt="Login to use the PayPal Sandbox features" src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/Snap0007.jpg" border="1" height="397" width="500"></p>

<div class="Caption">Login to use the PayPal Sandbox features</div>

<h2><a id="WebStandard"></a>Website Payments Standard (HTML)</h2>

<p>In this section, I'll provide you with a number of examples that will
 show how to create your own HTML form for receiving money over PayPal. 
You'll see how to use different variables in order to influence payment 
details. Before we delve into details, let's take a look at the two most
 basic variables:</p>

<ul>
<li>form's <code>action</code> attribute - in most cases, it should be <em>https://www.paypal.com/cgi-bin/webscr</em>. If you are using Sandbox for testing payments, you'll change it to <strong>https://www.<em>sandbox.</em>paypal.com/cgi-bin/webscr</strong> - effectively, you just insert the word <strong>sandbox</strong>
 into the URL (this is also true for some other integrations; e.g., the 
PayPal API). For upcoming examples, I won't be using the Sandbox URL 
because most of you would just get that "Login to use the PayPal Sandbox
 features" screen (look up for the image).</li>

<li>form's business child - I'll use <em>youremailaddress@yourdomain.com</em> for most examples; if you copy-paste the code, you'll want to replace that with the email of your PayPal account.</li>
</ul>

<h3>Basic Payment</h3>

<p>OK, let’s say you have an opened PayPal account and you just wish to 
be able to accept a $10 payment for a painting you are selling through 
your site. Just insert the following HTML into your page and you are set
 to go:</p>

<div style="display:block" width="100%" id="premain0" class="pre-action-link"><img preid="0" style="cursor: pointer;" src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/minus.gif" id="preimg0" height="9" width="9"><span preid="0" style="cursor: pointer; margin-bottom: 0pt;" id="precollapse0"> Collapse</span><span> | </span><a preid="0" href="#">Copy Code</a></div><pre style="margin-top: 0pt;" id="pre0" lang="xml"><span class="code-keyword">&lt;</span><span class="code-leadattribute">form</span> <span class="code-attribute">action</span><span class="code-keyword">="</span><span class="code-keyword">https://www.paypal.com/cgi-bin/webscr"</span> <span class="code-attribute">method</span><span class="code-keyword">="</span><span class="code-keyword">post"</span><span class="code-keyword">&gt;</span>

    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">cmd"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">_xclick"</span> <span class="code-keyword">/</span><span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">business"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">youremailaddress@yourdomain.com"</span> <span class="code-keyword">/</span><span class="code-keyword">&gt;</span>

    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">item_name"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">My painting"</span> <span class="code-keyword">/</span><span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">amount"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">10.00"</span> <span class="code-keyword">/</span><span class="code-keyword">&gt;</span> 
    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">submit"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">Buy!"</span> <span class="code-keyword">/</span><span class="code-keyword">&gt;</span>

<span class="code-keyword">&lt;</span><span class="code-keyword">/</span><span class="code-leadattribute">form</span><span class="code-keyword">&gt;</span></pre>

<h3>Shipping &amp; Handling</h3>

<p>The next thing that comes to mind is that you'll wish to add shipping
 and/or handling fees to your form. It's easy - just add more 
parameters:</p>

<div style="display:block" width="100%" id="premain1" class="pre-action-link"><img preid="1" style="cursor: pointer;" src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/minus.gif" id="preimg1" height="9" width="9"><span preid="1" style="cursor: pointer; margin-bottom: 0pt;" id="precollapse1"> Collapse</span><span> | </span><a preid="1" href="#">Copy Code</a></div><pre style="margin-top: 0pt;" id="pre1" lang="xml"><span class="code-keyword">&lt;</span><span class="code-leadattribute">form</span> <span class="code-attribute">action</span><span class="code-keyword">="</span><span class="code-keyword">https://www.paypal.com/cgi-bin/webscr"</span> <span class="code-attribute">method</span><span class="code-keyword">="</span><span class="code-keyword">post"</span><span class="code-keyword">&gt;</span>

    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">cmd"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">_xclick"</span> <span class="code-keyword">/</span><span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">business"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">youremailaddress@yourdomain.com"</span> <span class="code-keyword">/</span><span class="code-keyword">&gt;</span>

    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">item_name"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">My painting"</span> <span class="code-keyword">/</span><span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">amount"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">10.00"</span> <span class="code-keyword">/</span><span class="code-keyword">&gt;</span>

<em><strong>    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">shipping"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">3.00"</span> <span class="code-keyword">/</span><span class="code-keyword">&gt;</span> 
    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">handling"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">2.00"</span> <span class="code-keyword">/</span><span class="code-keyword">&gt;</span></strong></em>

    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">submit"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">Buy with additional parameters!"</span> <span class="code-keyword">/</span><span class="code-keyword">&gt;</span>
<span class="code-keyword">&lt;</span><span class="code-keyword">/</span><span class="code-leadattribute">form</span><span class="code-keyword">&gt;</span></pre>

<h3>Donations &amp; Textual Links</h3>

<p>If you aren't selling anything but rather accepting donations for some cause - you'll just need to change the value of the <code>cmd</code> variable to <code>_donations</code>.
 If we combine this with a common requirement to have a hyperlink 
instead of a button - we get the following URL (of course, you can use 
this method of URL creation for other PayPal payment types):</p>

<ul>
<li>https://www.paypal.com/cgi-bin/webscr?cmd=_donations&amp;business=youremailaddress@yourdomain.com&amp;item_name=Save
 Polar Bears!&amp;amount=10.00</li>
</ul>

<h4>Result:</h4>

<ul>
<li><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&amp;business=youremailaddress@yourdomain.com&amp;item_name=Save%20Polar%20Bears%21&amp;amount=10.00" target="paypal">Save Polar Bears!</a></li>
</ul>

<h3>Cart System</h3>

<p>If you have a bunch of different products to offer and you just want a
 simple cart system without implementing anything, PayPal has you 
covered. Basically, you'll just play with the <code>cmd</code> variable 
while keeping the rest of the form same as for the Basic Payment. Let's 
see how you should do this for two products; one priced at $10 without 
shipping fees, and one priced at $5 with $1 shipping fee. We will also 
need a View Cart button:</p>

<div style="display:block" width="100%" id="premain2" class="pre-action-link"><img preid="2" style="cursor: pointer;" src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/minus.gif" id="preimg2" height="9" width="9"><span preid="2" style="cursor: pointer; margin-bottom: 0pt;" id="precollapse2"> Collapse</span><span> | </span><a preid="2" href="#">Copy Code</a></div><pre style="margin-top: 0pt;" id="pre2" lang="xml">My Cart Item 1:
<span class="code-keyword">&lt;</span><span class="code-leadattribute">form</span> <span class="code-attribute">action</span><span class="code-keyword">="</span><span class="code-keyword">https://www.paypal.com/cgi-bin/webscr"</span> <span class="code-attribute">method</span><span class="code-keyword">="</span><span class="code-keyword">post"</span> <span class="code-attribute">target</span><span class="code-keyword">="</span><span class="code-keyword">paypal"</span><span class="code-keyword">&gt;</span>

    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">cmd"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">_cart"</span><span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">add"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">1"</span><span class="code-keyword">&gt;</span>

    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">business"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">youremailaddress@yourdomain.com"</span><span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">item_name"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">My Cart Item 1"</span><span class="code-keyword">&gt;</span>

    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">amount"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">10.00"</span><span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">shopping_url"</span> 
           <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">http://www.yourwebsite.com/shoppingpage.html"</span><span class="code-keyword">&gt;</span>

    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">return"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">http://www.yourwebsite.com/success.html"</span><span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">cancel_return"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">http://www.yourwebsite.com/cancel.html"</span><span class="code-keyword">&gt;</span>

    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">bn"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">PP-ShopCartBF:x-click-but22.gif:NonHosted"</span><span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">image"</span> <span class="code-attribute">src</span><span class="code-keyword">="</span><span class="code-keyword">https://www.paypal.com/en_US/i/btn/x-click-but22.gif"</span> <span class="code-attribute">border</span><span class="code-keyword">="</span><span class="code-keyword">0"</span>

        <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">submit"</span> <span class="code-attribute">alt</span><span class="code-keyword">="</span><span class="code-keyword">Make payments with PayPal - it's fast, free and secure!"</span><span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span><span class="code-leadattribute">img</span> <span class="code-attribute">alt</span><span class="code-keyword">="</span><span class="code-keyword">"</span> <span class="code-attribute">border</span><span class="code-keyword">="</span><span class="code-keyword">0"</span> <span class="code-attribute">src</span><span class="code-keyword">="</span><span class="code-keyword">https://www.paypal.com/en_US/i/scr/pixel.gif"</span> <span class="code-attribute">width</span><span class="code-keyword">="</span><span class="code-keyword">1"</span>

        <span class="code-attribute">height</span><span class="code-keyword">="</span><span class="code-keyword">1"</span><span class="code-keyword">&gt;</span>
<span class="code-keyword">&lt;</span><span class="code-keyword">/</span><span class="code-leadattribute">form</span><span class="code-keyword">&gt;</span>

My Cart Item 2:
<span class="code-keyword">&lt;</span><span class="code-leadattribute">form</span> <span class="code-attribute">action</span><span class="code-keyword">="</span><span class="code-keyword">https://www.paypal.com/cgi-bin/webscr"</span> <span class="code-attribute">method</span><span class="code-keyword">="</span><span class="code-keyword">post"</span> <span class="code-attribute">target</span><span class="code-keyword">="</span><span class="code-keyword">paypal"</span><span class="code-keyword">&gt;</span>

    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">cmd"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">_cart"</span><span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">add"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">1"</span><span class="code-keyword">&gt;</span>

    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">business"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">youremailaddress@yourdomain.com"</span><span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">item_name"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">My Cart Item 2"</span><span class="code-keyword">&gt;</span>

    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">amount"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">5.00"</span><span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">shipping"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">1.00"</span><span class="code-keyword">&gt;</span>

    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">shopping_url"</span> 
        <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">http://www.yourwebsite.com/shoppingpage.html"</span><span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">return"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">http://www.yourwebsite.com/success.html"</span><span class="code-keyword">&gt;</span>

    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">cancel_return"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">http://www.yourwebsite.com/cancel.html"</span><span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">bn"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">PP-ShopCartBF:x-click-but22.gif:NonHosted"</span><span class="code-keyword">&gt;</span>

    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">image"</span> <span class="code-attribute">src</span><span class="code-keyword">="</span><span class="code-keyword">https://www.paypal.com/en_US/i/btn/x-click-but22.gif"</span> <span class="code-attribute">border</span><span class="code-keyword">="</span><span class="code-keyword">0"</span>
        <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">submit"</span> <span class="code-attribute">alt</span><span class="code-keyword">="</span><span class="code-keyword">Make payments with PayPal - it's fast, free and secure!"</span><span class="code-keyword">&gt;</span>

    <span class="code-keyword">&lt;</span><span class="code-leadattribute">img</span> <span class="code-attribute">alt</span><span class="code-keyword">="</span><span class="code-keyword">"</span> <span class="code-attribute">border</span><span class="code-keyword">="</span><span class="code-keyword">0"</span> <span class="code-attribute">src</span><span class="code-keyword">="</span><span class="code-keyword">https://www.paypal.com/en_US/i/scr/pixel.gif"</span> <span class="code-attribute">width</span><span class="code-keyword">="</span><span class="code-keyword">1"</span>
        <span class="code-attribute">height</span><span class="code-keyword">="</span><span class="code-keyword">1"</span><span class="code-keyword">&gt;</span>
<span class="code-keyword">&lt;</span><span class="code-keyword">/</span><span class="code-leadattribute">form</span><span class="code-keyword">&gt;</span>

View Cart:
<span class="code-keyword">&lt;</span><span class="code-leadattribute">form</span> <span class="code-attribute">action</span><span class="code-keyword">="</span><span class="code-keyword">https://www.paypal.com/cgi-bin/webscr"</span> <span class="code-attribute">method</span><span class="code-keyword">="</span><span class="code-keyword">post"</span> <span class="code-attribute">target</span><span class="code-keyword">="</span><span class="code-keyword">paypal"</span><span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">cmd"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">_cart"</span><span class="code-keyword">&gt;</span>

    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">display"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">1"</span><span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">business"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">youremailaddress@yourdomain.com"</span><span class="code-keyword">&gt;</span>

    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">shopping_url"</span> 
        <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">http://www.yourwebsite.com/shoppingpage.html"</span><span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">image"</span> <span class="code-attribute">src</span><span class="code-keyword">="</span><span class="code-keyword">https://www.paypal.com/en_US/i/btn/view_cart_02.gif"</span> 
           <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">submit"</span> <span class="code-attribute">alt</span><span class="code-keyword">="</span><span class="code-keyword">Make payments with PayPal - it's fast, free and secure!"</span><span class="code-keyword">&gt;</span>

<span class="code-keyword">&lt;</span><span class="code-keyword">/</span><span class="code-leadattribute">form</span><span class="code-keyword">&gt;</span></pre>

<h3>Recurring Payments</h3>

<p>If you are selling a monthly service rather than a product, you'll be
 interested in the recurring payment options PayPal provides. Again, 
it's playing with different variables that have different meaning. Let's
 say you wish to set a 3 day free trial after which the user will have 
to pay you $10.00 per month to keep using the service. The following 
HTML form should do the trick:</p>

<div style="display:block" width="100%" id="premain3" class="pre-action-link"><img preid="3" style="cursor: pointer;" src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/minus.gif" id="preimg3" height="9" width="9"><span preid="3" style="cursor: pointer; margin-bottom: 0pt;" id="precollapse3"> Collapse</span><span> | </span><a preid="3" href="#">Copy Code</a></div><pre style="margin-top: 0pt;" id="pre3" lang="xml"><span class="code-keyword">&lt;</span><span class="code-leadattribute">form</span> <span class="code-attribute">action</span><span class="code-keyword">="</span><span class="code-keyword">https://www.paypal.com/cgi-bin/webscr"</span> <span class="code-attribute">method</span><span class="code-keyword">="</span><span class="code-keyword">post"</span><span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">cmd"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">_xclick-subscriptions"</span><span class="code-keyword">/</span><span class="code-keyword">&gt;</span> 
    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">business"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">youremailaddress@yourdomain.com"</span><span class="code-keyword">/</span><span class="code-keyword">&gt;</span> 
    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">item_name"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">Something"</span><span class="code-keyword">/</span><span class="code-keyword">&gt;</span> 
    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">submit"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">Subscribe!"</span> <span class="code-keyword">/</span><span class="code-keyword">&gt;</span> 

    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">a1"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">0"</span><span class="code-keyword">/</span><span class="code-keyword">&gt;</span> 
    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">p1"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">3"</span><span class="code-keyword">/</span><span class="code-keyword">&gt;</span> 
    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">t1"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">D"</span><span class="code-keyword">/</span><span class="code-keyword">&gt;</span> 
    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">a3"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">10.00"</span><span class="code-keyword">/</span><span class="code-keyword">&gt;</span> 
    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">p3"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">1"</span><span class="code-keyword">/</span><span class="code-keyword">&gt;</span> 
    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">t3"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">M"</span><span class="code-keyword">/</span><span class="code-keyword">&gt;</span> 
    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">src"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">1"</span><span class="code-keyword">/</span><span class="code-keyword">&gt;</span> 
    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">srt"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">0"</span><span class="code-keyword">/</span><span class="code-keyword">&gt;</span> 
    <span class="code-keyword">&lt;</span><span class="code-leadattribute">input</span> <span class="code-attribute">type</span><span class="code-keyword">="</span><span class="code-keyword">hidden"</span> <span class="code-attribute">name</span><span class="code-keyword">="</span><span class="code-keyword">sra"</span> <span class="code-attribute">value</span><span class="code-keyword">="</span><span class="code-keyword">1"</span><span class="code-keyword">/</span><span class="code-keyword">&gt;</span> 

<span class="code-keyword">&lt;</span><span class="code-keyword">/</span><span class="code-leadattribute">form</span><span class="code-keyword">&gt;</span></pre>

<h3>HTML Variables &amp; Resources</h3>

<p>After reading the previous example, you may be wondering what certain variables do (a1? p1? srt?). Luckily, PayPal provides an "<a href="https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&amp;content_ID=developer/e_howto_html_Appx_websitestandard_htmlvariables#id08A6HH0D0TA" target="_blank">HTML Variables for Website Payments Standard</a>" page on which you can read about any variable that you are interested in.</p>

<p>Also, another great resource (to which I wish someone pointed me when I first started with PP integration) is "<a href="http://www.jkquilting.com/z_code/Basic_Examples.html" target="_blank">skier's PayPal examples</a>".
 You'll find examples for almost all payment scenarios you can think of -
 so instead of cluttering this article with more examples, I'll 
encourage you to visit that page should you wish to implement some more 
advanced PayPal HTML form.</p>

<h2><a id="PostPayment"></a>PostPayment Processing</h2>

<p>When you setup your PayPal HTML form, the first question you'll 
probably ask is - after user pays, can I have some post-payment 
processing logic? It is not so without reason; there are numerous 
post-payment scenarios we can think of - from sending a simple "Thank 
you" email to updating the site database and allowing user access to 
restricted resources for which he paid. Depending on your knowledge and 
the desired level of robustness for post-processing logic, there are 
three ways you can go; and the good thing is you can combine them.</p>

<h3><a id="AutoReturn"></a>AutoReturn</h3>

<p>AutoReturn is the simplest PostPayment processing solution that you have - after the user pays, he is <em>automatically*</em>
 redirected to a specified page on your website on which you can display
 some confirmation text. If you carefully went through "HTML Variables 
for Website Payments Standard", you know that you can use a <strong>return</strong> variable to specify the AutoReturn URL in the HTML form. If you wish to have the default AutoReturn URL, follow these steps:</p>

<ol>
<li>Log in to your Premier or Business account</li>

<li>Click the Profile subtab</li>

<li>Click the Website Payment Preferences in the Selling Preferences column</li>

<li>Click the On radio button next to the Auto Return label</li>

<li>Enter the URL where you want your users to return in the text box labeled Return URL</li>

<li>Click the Save button at the bottom of the page</li>
</ol>

<p><img alt="Providing AutoRetremoved removed in your PayPal profile" src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/Snap0008.jpg" border="1" height="382" width="500"></p>

<div class="Caption">Providing the AutoReturl URL in your PayPal profile</div>

<p>Know that if you have both AutoReturn URL in your profile and provide a <strong>return</strong> variable in your HTML form, the <strong>return</strong> variable will overwrite the profile URL value.</p>

<p>Now, when your return page is hit, you'll be getting variables that 
should allow you to customize the page display and log payment:</p>

<ul>
<li><code>tx</code> - Transaction ID</li>

<li><code>st</code> - Payment status</li>

<li><code>amt</code> - Payment amount</li>

<li><code>cc</code> - Currency code</li>
</ul>

<p>Before closing this section, one more thing. The reason why I've 
italicized the word "automatically" in the first sentence is: if the 
user uses a credit card to pay you, he won't be automatically redirected
 to your return URL; he'll rather need to click on the "Return to 
Merchant" button. If this sounds weird to you, <a href="http://www.pdncommunity.com/pdn/board/message?board.id=pdt&amp;message.id=1348&amp;query.id=1208472" target="paypal_c_aspnet">know that you're not alone</a>;
 however, because of legal issues, PayPal refused and still refuses to 
change the way credit card payments are handled with AutoReturn.</p>

<h3><a id="PDT"></a>Payment Data Transfer (PDT)</h3>

<p>After looking over the list of variables that AutoReturn provides, 
you probably wondered - can I get more details about the transaction 
that occurred? This is exactly where PDT jumps in - building on the 
AutoReturn functionality. For that reason, you'll need to enable both 
AutoReturn and then PDT in your profile; here is how to do that:</p>

<ol>
<li>Log in to your Premier or Business account</li>

<li>Click the Profile sub tab</li>

<li>Click Website Payment Preferences in the Selling Preferences column</li>

<li>Click the On radio button next to the Auto Return label</li>

<li>Enter the URL of the script that will process the PDT HTTP request sent from PayPal</li>

<li>Under Payment Data Transfer, click the On radio button</li>

<li>Click Save.</li>
</ol>

<p>After following these steps, you should get a PDT Identity Token that
 is needed for querying PayPal. If you don't copy-paste the token after 
clicking Save, know that you can always see it in your Website Payment 
Preferences:</p>

<p><img alt="Payment Data Transfer and Identity Token" src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/Snap0009.jpg" border="1" height="382" width="500"></p>

<div class="Caption">Payment Data Transfer and Identity Token</div>

<p>Now that you have the Identity Token, you can query PayPal for more 
details after your return URL has been hit. Here is how things flow when
 utilizing PDT:</p>

<ol>
<li>User pays and is redirected to your AutoReturn page, for example: <em>http://www.yourdomain.com/Thanks.aspx?tx=[TransactionID]</em>.</li>

<li>From the code-behind of <em>Thanks.aspx</em>, you'll parse the <code>tx</code> value and make an HTTP POST to <em>https://www.paypal.com/cgi-bin/webscr</em> with the following parameters: <em>cmd=_notify-synch&amp;tx=[TransactionID]&amp;at=[PDTIdentityToken]</em>. (If you are using Sandbox, you'll of course make an HTTP POST to <em>https://www.sandbox.paypal.com/cgi-bin/webscr</em>.)</li>

<li>PayPal will respond to your HTTP POST in the following format:</li>

<div style="display:block" width="100%" id="premain4" class="pre-action-link"><img preid="4" style="cursor: pointer;" src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/minus.gif" id="preimg4" height="9" width="9"><span preid="4" style="cursor: pointer; margin-bottom: 0pt;" id="precollapse4"> Collapse</span><span> | </span><a preid="4" href="#">Copy Code</a></div><pre style="margin-top: 0pt;" id="pre4" lang="text">SUCCESS
first_name=Firstname
last_name=Lastname
payment_status=Completed
payer_email=firstname%40lastname.com
payment_gross=50.00
mc_currency=USD
custom=Custom+value+you+passed+with+your+HTML+form
etc.</pre>

<li>Do whatever you wish with the data.</li>
</ol>

<p>Here is how what was said in the previous few lines looks in C# code:</p>

<div style="display:block" width="100%" id="premain5" class="pre-action-link"><img preid="5" style="cursor: pointer;" src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/minus.gif" id="preimg5" height="9" width="9"><span preid="5" style="cursor: pointer; margin-bottom: 0pt;" id="precollapse5"> Collapse</span><span> | </span><a preid="5" href="#">Copy Code</a></div><pre style="margin-top: 0pt;" id="pre5" lang="cs"><span class="code-keyword">protected</span> <span class="code-keyword">void</span> Page_Load(<span class="code-keyword">object</span> sender, EventArgs e)
{
    <span class="code-keyword">if</span> (!Page.IsPostBack)
    {
        authToken = WebConfigurationManager.AppSettings[<span class="code-string">"</span><span class="code-string">PDTToken"</span>];

        <span class="code-comment">//</span><span class="code-comment">read in txn token from querystring
</span>        txToken = Request.QueryString.Get(<span class="code-string">"</span><span class="code-string">tx"</span>);


        query = <span class="code-keyword">string</span>.Format(<span class="code-string">"</span><span class="code-string">cmd=_notify-synch&amp;tx={0}&amp;at={1}"</span>, 
                              txToken, authToken);

        <span class="code-comment">//</span><span class="code-comment"> Create the request back
</span>        <span class="code-keyword">string</span> url = WebConfigurationManager.AppSettings[<span class="code-string">"</span><span class="code-string">PayPalSubmitUrl"</span>];
        HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);

        <span class="code-comment">//</span><span class="code-comment"> Set values for the request back
</span>        req.Method = <span class="code-string">"</span><span class="code-string">POST"</span>;
        req.ContentType = <span class="code-string">"</span><span class="code-string">application/x-www-form-urlencoded"</span>;
        req.ContentLength = query.Length;

        <span class="code-comment">//</span><span class="code-comment"> Write the request back IPN strings
</span>        StreamWriter stOut = <span class="code-keyword">new</span> StreamWriter(req.GetRequestStream(), 
                                 System.Text.Encoding.ASCII);
        stOut.Write(query);
        stOut.Close();

        <span class="code-comment">//</span><span class="code-comment"> Do the request to PayPal and get the response
</span>        StreamReader stIn = <span class="code-keyword">new</span> StreamReader(req.GetResponse().GetResponseStream());
        strResponse = stIn.ReadToEnd();
        stIn.Close();

        <span class="code-comment">//</span><span class="code-comment"> sanity check
</span>        Label2.Text = strResponse;

        <span class="code-comment">//</span><span class="code-comment"> If response was SUCCESS, parse response string and output details
</span>        <span class="code-keyword">if</span> (strResponse.StartsWith(<span class="code-string">"</span><span class="code-string">SUCCESS"</span>))
        {
            PDTHolder pdt = PDTHolder.Parse(strResponse);
            Label1.Text = 
                <span class="code-keyword">string</span>.Format(<span class="code-string">"</span><span class="code-string">Thank you {0} {1} [{2}] for your payment of {3} {4}!"</span>,
                pdt.PayerFirstName, pdt.PayerLastName, 
                pdt.PayerEmail, pdt.GrossTotal, pdt.Currency);
        }
        <span class="code-keyword">else</span>
        {
            Label1.Text = <span class="code-string">"</span><span class="code-string">Oooops, something went wrong..."</span>;
        }
    }
}</pre>

<p>In the code I'm attaching with the article, under the <em>PDT</em> directory, you'll see more classes that will help you out in following the previously mentioned flow.</p>

<p>And, as with AutoReturn, one notice before closing the subject - take a look at the <code>custom</code>
 variable in PayPal's response to your HTTP POST. You'll probably want 
to utilize this variable as it allows you to pass some information from 
your payment page to your post-processing page without presenting it to 
the user. To name one use, in some of my PayPal implementations, I track
 the user with it - when he started payment process, and when/if he 
finished it.</p>

<h3><a id="IPN"></a>Instant Payment Notification (IPN)</h3>

<p>One big shortcoming of PDT is that it is a user-driven process, 
meaning - if the user closes the browser after performing a payment and 
before being redirected to your site, you'll lose the opportunity to run
 your post processing logic. That's why you are advised to combine the 
PDT with IPN for any serious integration with PayPal.</p>

<p>IPN is a back-end mechanism that makes HTTP POSTs to your page, 
notifying you of important events. It is used not only for PostPayment 
processing, but also for things that come after, like handling user 
cancelation of recurring payments.</p>

<p>Being a back-end technology, it is somewhat harder to implement and 
debug than PDT. There are a couple of things you should be aware of 
before starting to implement IPN:</p>

<ul>
<li>IPN messages can be delayed sometimes. I know, I know... that beats the word "Instant" in IPN, but that's how things are.</li>

<li>There is a known history of problems with the IPN service; two latest incidents happened on <a href="http://www.pdncommunity.com/t5/Live-Site-Status/Live-Site-930-1-Resolved-PayPal-IPN-Delay-Oct-02/ba-p/156397#A459" target="paypal_c_aspnet">October 2<sup>nd</sup> 2009</a> (2 hour delay) and on <a href="http://www.pdncommunity.com/t5/Live-Site-Status/Live-Site-905-2-Resolved-IPN-backlog-Sep-06/ba-p/152432#A448" target="paypal_c_aspnet">September 6<sup>th</sup> 2009</a> (6 hour delay).</li>

<li>Whenever you have problems with IPN, be sure to check the <strong><a href="http://www.pdncommunity.com/t5/blogs/blogpage/blog-id/mts_updates" target="paypal_c_aspnet">Live Status</a></strong>
 page and see if there is an incident notification before digging into 
debugging and changing your script. There is also a similar page for <strong><a href="http://www.pdncommunity.com/t5/blogs/blogpage/blog-id/sb" target="paypal_c_aspnet">Sandbox Status</a></strong>.</li>
</ul>

<p>Before being able to receive IPN messages, you'll need to activate this service; follow these steps:</p>

<ol>
<li>Log in to your Premier or Business account</li>

<li>Click the Profile sub tab</li>

<li>Click Instant Payment Notification in the Selling Preferences column</li>

<li>Click the 'Edit IPN Settings' button to update your settings</li>

<li>Select 'Receive IPN messages' (Enabled) and enter the URL of your IPN handler</li>

<li>Click Save, and you should get a message that you have successfully activated IPN</li>
</ol>

<p><img alt="Activating Instant Payment Notification" src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/Snap0011.jpg" border="1" height="382" width="500"></p>

<div class="Caption">Activating Instant Payment Notification</div>

<p>As with AutoReturn, you can overwrite the IPN handler URL set in the profile in individual forms by adding the <code>notify_url</code> variable (see the <a href="https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&amp;content_ID=developer/e_howto_html_Appx_websitestandard_htmlvariables" target="paypal_c_aspnet">HTML Variables reference</a>).
 Know that this will influence not only the initial IPN message but all 
future messages related to that transaction (they will all go to <code>notify_url</code>).</p>

<p>To handle IPN messages, you'll need to create an HTTP handler 
somewhere on your website. When a significant event occurs (e.g., user 
performs payment), following flow takes place:</p>

<ol>
<li>PayPal will send an HTTP POST to your IPN handler with a number of variables.</li>

<li>After receiving HTTP POST and parsing it, you need to submit the complete body of the message back to <em>https://www.paypal.com/cgi-bin/webscr</em> (or <em>https://www.sandbox.paypal.com/cgi-bin/webscr</em>
 for a Sandbox account). When you are doing this, be sure to send a 
message back in the exact format in which you received it; the only 
thing you are allowed to do is adding <strong>cmd=_notify-validate</strong>. This is all done in order to verify that HTTP POST was authentic and sent from PayPal.</li>

<li>PayPal will respond with either VERIFIED or INVALID. After you 
receive this response, be sure to send 200 OK to prevent additional 
attempts from PayPal to send an IPN. If you don't close the loop with a 
200 OK, PayPal will start resending IPN (starting from 4 seconds and 
doubling - 8 seconds, 16 seconds, 32 seconds... up to 4 days).</li>

</ol>

<p>Here is a generic C# IPN handler (for more code, check the zip attached to the article):</p>

<div style="display:block" width="100%" id="premain6" class="pre-action-link"><img preid="6" style="cursor: pointer;" src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/minus.gif" id="preimg6" height="9" width="9"><span preid="6" style="cursor: pointer; margin-bottom: 0pt;" id="precollapse6"> Collapse</span><span> | </span><a preid="6" href="#">Copy Code</a></div><pre style="margin-top: 0pt;" id="pre6" lang="cs"><span class="code-keyword">protected</span> <span class="code-keyword">void</span> Page_Load(<span class="code-keyword">object</span> sender, EventArgs e)
{    
    <span class="code-keyword">string</span> postUrl = ConfigurationManager.AppSettings[<span class="code-string">"</span><span class="code-string">PayPalSubmitUrl"</span>];
    HttpWebRequest req = (HttpWebRequest)WebRequest.Create(postUrl);

    <span class="code-comment">//</span><span class="code-comment">Set values for the request back
</span>    req.Method = <span class="code-string">"</span><span class="code-string">POST"</span>;
    req.ContentType = <span class="code-string">"</span><span class="code-string">application/x-www-form-urlencoded"</span>;
    <span class="code-keyword">byte</span>[] param = Request.BinaryRead(HttpContext.Current.Request.ContentLength);
    <span class="code-keyword">string</span> strRequest = Encoding.ASCII.GetString(param);
    <span class="code-keyword">string</span> ipnPost = strRequest;
    strRequest += <span class="code-string">"</span><span class="code-string">&amp;cmd=_notify-validate"</span>;
    req.ContentLength = strRequest.Length;

    <span class="code-comment">//</span><span class="code-comment">for proxy
</span>    <span class="code-comment">//</span><span class="code-comment">WebProxy proxy = new WebProxy(new Uri("http://url:port#"));
</span>    <span class="code-comment">//</span><span class="code-comment">req.Proxy = proxy;
</span>
    <span class="code-comment">//</span><span class="code-comment">Send the request to PayPal and get the response
</span>    StreamWriter streamOut = <span class="code-keyword">new</span> StreamWriter(req.GetRequestStream(), 
                             System.Text.Encoding.ASCII);
    streamOut.Write(strRequest);
    streamOut.Close();
    
    StreamReader streamIn = <span class="code-keyword">new</span> StreamReader(req.GetResponse().GetResponseStream());
    <span class="code-keyword">string</span> strResponse = streamIn.ReadToEnd();
    streamIn.Close();

    <span class="code-comment">//</span><span class="code-comment"> logging ipn messages... be sure that you give write
</span>    <span class="code-comment">//</span><span class="code-comment"> permission to process executing this code
</span>    <span class="code-keyword">string</span> logPathDir = ResolveUrl(<span class="code-string">"</span><span class="code-string">Messages"</span>);
    <span class="code-keyword">string</span> logPath = <span class="code-keyword">string</span>.Format(<span class="code-string">"</span><span class="code-string">{0}\\{1}.txt"</span>, 
                     Server.MapPath(logPathDir), DateTime.Now.Ticks);
    File.WriteAllText(logPath, ipnPost);
    <span class="code-comment">//</span><span class="code-comment">
</span>
    <span class="code-keyword">if</span> (strResponse == <span class="code-string">"</span><span class="code-string">VERIFIED"</span>)
    {
        <span class="code-comment">//</span><span class="code-comment">check the payment_status is Completed
</span>        <span class="code-comment">//</span><span class="code-comment">check that txn_id has not been previously processed
</span>        <span class="code-comment">//</span><span class="code-comment">check that receiver_email is your Primary PayPal email
</span>        <span class="code-comment">//</span><span class="code-comment">check that payment_amount/payment_currency are correct
</span>        <span class="code-comment">//</span><span class="code-comment">process payment
</span>    }
    <span class="code-keyword">else</span> <span class="code-keyword">if</span> (strResponse == <span class="code-string">"</span><span class="code-string">INVALID"</span>)
    {
        <span class="code-comment">//</span><span class="code-comment">log for manual investigation
</span>    }
    <span class="code-keyword">else</span>
    {
        <span class="code-comment">//</span><span class="code-comment">log response/ipn data for manual investigation
</span>    }
}</pre>

<p>If you have received an INVALID response, that could mean two things:</p>

<ul>
<li>Someone tried to send a malicious message to your IPN handler.</li>

<li>Your implementation isn't perfect.</li>
</ul>

<p>In case of a malicious message, you're on your own (log IP, take 
appropriate action), but for imperfect implementations, visit this <a href="http://www.pdncommunity.com/pdn/board/message?board.id=ipn&amp;thread.id=7479" target="paypal_c_aspnet">IPN troubleshooting topic</a> on PayPal Developer Forums; it is full of useful tips that should help you solve INVALID responses.</p>

<p>Also, before going online with your IPN handler, be sure to test it thoroughly with the <a href="https://developer.paypal.com/us/cgi-bin/devscr?cmd=_ipn-link-session" target="paypal_c_aspnet">Instant Payment Notification (IPN) simulator</a>.
 As an IPN handler will work in the background, you'll want to test it 
as much as you can before going live and relying on its processing.</p>

<p>Another thing you'll want to visit if you are implementing IPN is <a href="https://www.paypaltech.com/SG2" target="paypal_c_aspnet">ScriptGenerator2 page</a>...
 it can quickly generate an IPN handler in the language of your choice. 
Funny thing - they are missing a generator for ASP.NET/C#; for that, 
check out the IPN directory in the code-archive I've attached to this 
article and <a href="https://cms.paypal.com/us/cgi-bin/?&amp;cmd=_render-content&amp;content_ID=developer/library_code_ipn_code_samples" target="paypal_c_aspnet">these Code Samples</a>.</p>

<p>Finally, on PayPal Developer Center, there is this nice <a href="https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&amp;content_ID=developer/e_howto_html_IPNandPDTVariables" target="paypal_c_aspnet">page that lists most of the IPN and PDT variables</a>. I'm saying most because there are some variables missing on it (check comments on <a href="http://www.pdncommunity.com/t5/PayPal-Developer-Blog/Recurring-Payments-update/bc-p/66690#C534" target="paypal_c_aspnet">this page</a>), but the list is far beyond being useless.</p>

<h2><a id="API"></a>PayPal API</h2>

<p>As said in the introduction, most developers, even if they have no 
previous experience with PayPal, start directly with the API. Google 
search brings up either <a href="https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&amp;content_ID=developer/howto_api_reference" target="paypal_c_aspnet">API Reference</a> or the <a href="https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&amp;content_ID=developer/library_download_sdks" target="paypal_c_aspnet">SDKs and Downloads</a> page and then browsing through <a href="https://cms.paypal.com/us/cgi-bin/?&amp;cmd=_render-content&amp;content_ID=developer/library_documentation" target="paypal_c_aspnet">Documentation</a>
 starts. I don't want to say that there is something wrong with using 
PayPal API for payments; I want to say that in most of the cases, it's 
not necessary to go down that path.</p>

<p>PayPal API is much more than just a mechanism for payment - if you look at the provided <a href="https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&amp;content_ID=developer/howto_api_reference" target="paypal_c_aspnet">API Reference</a>
 page, you'll see that there are lots of methods not tied directly to 
"user performing payment". You can use the API to browse through the 
history of your transactions, issue a refund, or update a recurring 
payments profile. So how do you start using it?</p>

<p>First and foremost, you'll need to enable API access in your account; follow these steps:</p>

<ol>
<li>Log in to your Premier or Business account</li>

<li>Click the Profile sub tab</li>

<li>Click the API Access link under the Account Information header</li>

<li>Click the link that says Request API Credentials / View API Certificate</li>

<li>Select either API Signature or API Certificate</li>
</ol>

<p><img alt="Step 5 from activating API Access" src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/Snap0012.jpg" border="1" height="391" width="500"></p>

<div class="Caption">Step 5 from activating API Access</div>

<p>I recommend that you select API Signature, and the examples that 
follow will assume you made this choice. There is nothing wrong with 
selecting API Certificate; I just find it more demanding from a setup 
perspective.</p>

<p>Now that you have credentials to make API calls, how do you perform 
them? The approach that will work equally well with all platforms is to <a href="https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&amp;content_ID=developer/library_download_sdks" target="paypal_c_aspnet">download the SDK</a>, target the <a href="https://cms.paypal.com/us/cgi-bin/?&amp;cmd=_render-content&amp;content_ID=developer/howto_api_endpoints" target="paypal_c_aspnet">appropriate API endpoint</a>, and start making HTTP calls with either Name-Value pairs or SOAP.</p>

<p>However, for .NET developers, I recommend a different approach. 
Considering that Visual Studio has an awesome WSDL parser, I urge you to
 just add a Web Service Reference to <a href="https://www.paypal.com/wsdl/PayPalSvc.wsdl" target="paypal_c_aspnet">https://www.paypal.com/wsdl/PayPalSvc.wsdl</a>.
 After a few moments, you'll have an up-to-date class ready to serve you
 with all the benefits of strong typing - no building of HTTP requests, 
no copy-pasting field names, and no cumbersome parsing of responses. You
 have the same thing available for Sandbox at: <a href="https://www.sandbox.paypal.com/wsdl/PayPalSvc.wsdl" target="paypal_c_aspnet">https://www.sandbox.paypal.com/wsdl/PayPalSvc.wsdl</a>.</p>

<h3><a id="ExpressCheckout"></a>Express Checkout</h3>

<p>Express Checkout is the most flexible PayPal integration solution. 
The user is redirected to PayPal just for authentication and 
confirmation that he wants to pay for your services, and after that, 
everything is done on your website; you'll make calls to the PayPal API 
in the background. The following picture describes the process (taken 
from <a href="https://cms.paypal.com/us/cgi-bin/?&amp;cmd=_render-content&amp;content_ID=developer/e_howto_api_ECGettingStarted" target="paypal_c_aspnet">this page</a>):</p>

<p><img alt="Step 5 from activating API Access" src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/EC-pageflow-API.gif" border="1" height="358" width="550"></p>

<div class="Caption">Express Checkout flow</div>

<ol>
<li>You'll add a PayPal Checkout button that invokes the <a href="https://cms.paypal.com/us/cgi-bin/?&amp;cmd=_render-content&amp;content_ID=developer/e_howto_api_nvp_r_SetExpressCheckout" target="paypal_c_aspnet"><code>SetExpressCheckout</code></a> method of the PayPal API after it is clicked.</li>

<ol>
<li>If you are invoking this method for one time payment, it'll be valid if you include only the required fields. Setting the <code>NOSHIPPING</code> variable to 1 is important if you are selling some online service (it'll help you skip the Shipping info page).</li>

<li>If you are invoking this method in order to set recurring payments, be sure to set <code>L_BILLINGTYPE0</code> to <code>RecurringPayments</code> and <code>L_BILLINGAGREEMENTDESCRIPTION0</code> to a valid description of your service.</li>
</ol>

<li><a href="https://cms.paypal.com/us/cgi-bin/?&amp;cmd=_render-content&amp;content_ID=developer/e_howto_api_nvp_r_SetExpressCheckout#id0858H500YY4" target="paypal_c_aspnet"><code>SetExpressCheckout</code> will return a 20 char token</a> that will uniquely identify your transaction. This token is valid for 3 hours. After you receive it, redirect the user to <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&amp;token=[TOKEN]" target="paypal_c_aspnet">https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&amp;token=[TOKEN]</a> (you can guess what the URL for Sandbox is, right?).</li>

<li>The user will review payment information, and if everything is OK, 
enter the login credentials. After this, PayPal will redirect him to the
 URL you specified with <code>RETURNURL</code> when you called <code>SetExpressCheckout</code>.</li>

<li>When your <code>RETURNURL</code> is hit, you need to invoke the <a href="https://cms.paypal.com/us/cgi-bin/?&amp;cmd=_render-content&amp;content_ID=developer/e_howto_api_nvp_r_GetExpressCheckoutDetails" target="paypal_c_aspnet"><code>GetExpressCheckoutDetails</code></a> method and see the details of the actual transaction; verify that everything is in order.</li>

<li>Now, all that is left is to commit the transaction. Depending on what you did in step 1, there are two things that can be done.</li>

<ol>
<li>For one time payments, you'll just invoke <a href="https://cms.paypal.com/us/cgi-bin/?&amp;cmd=_render-content&amp;content_ID=developer/e_howto_api_nvp_r_DoExpressCheckoutPayment" target="paypal_c_aspnet"><code>DoExpressCheckoutPayment</code></a> and forward the appropriate variables.</li>

<li>For recurring payments, you'll invoke the <a href="https://cms.paypal.com/us/cgi-bin/?&amp;cmd=_render-content&amp;content_ID=developer/e_howto_api_nvp_r_CreateRecurringPayments" target="paypal_c_aspnet"><code>CreateRecurringPayments</code></a>
 method. It is required that you include the DESC field and match it to 
the value entered in L_BILLINGAGREEMENTDESCRIPTION0 when you called <code>SetExpressCheckout</code>.</li>

</ol>
</ol>

<p>In a nutshell - that's it. Again, I have provided code examples that 
follow the previously specified flow in the archive accompanying this 
article (under the API directory). If you wish, you can also use the <a href="http://integrationwizard.x.com/ecpaypal/main.php" target="paypal_c_aspnet">PayPal Express Checkout Integration Wizard</a> for generating the reference code.</p>

<h3><a id="DirectPayment"></a>Direct Payment (Website Payments Pro)</h3>

<p>Most developers aren't aware that the PayPal platform can be used for
 just Credit Card processing. This part of the PayPal API is called 
Direct Payment, and when combined with Express Checkout (which only 
services customers with PayPal accounts), you get what is referred to as
 <a href="https://cms.paypal.com/us/cgi-bin/?&amp;cmd=_render-content&amp;content_ID=developer/e_howto_api_WPWebsitePaymentsPro" target="paypal_c_aspnet">Website Payments Pro</a> on the PayPal Developer Center.</p>

<p>To be able to call methods that are part of Direct Payment (<a href="https://cms.paypal.com/us/cgi-bin/?&amp;cmd=_render-content&amp;content_ID=developer/e_howto_api_nvp_r_DoDirectPayment" target="paypal_c_aspnet"><code>DoDirectPayment</code></a> and <a href="https://cms.paypal.com/us/cgi-bin/?&amp;cmd=_render-content&amp;content_ID=developer/e_howto_api_nvp_r_CreateRecurringPayments#id085U40MF02L__id085U4500O0A" target="paypal_c_aspnet"><code>CreateRecurringPayments</code></a>), you first need to satisfy some conditions:</p>

<ol>
<li>Have a Business account that is based in US, UK, or Canada</li>

<li>Oblige that you'll implement both Express Checkout and Direct Payment on your website</li>

<li>Submit application for Website Payments Pro through your PayPal account and have it approved</li>

<li>Pay monthly fee (currently $30 per month)</li>
</ol>

<p>After you have a Website Payments Pro account in place, calling 
Direct Payment methods is pretty straightforward - if in doubt, either 
visit the <a href="https://cms.paypal.com/us/cgi-bin/?&amp;cmd=_render-content&amp;content_ID=developer/howto_api_reference" target="paypal_c_aspnet">API Reference</a>
 page, or look at the code attached to this article. Just know that if 
you try to call any Direct Payment method on an account that doesn't 
have Pro enabled, you'll get an error with code 10501 (this is <a href="http://www.pdncommunity.com/pdn/board/message?board.id=sandbox&amp;message.id=17620#M17620" target="paypal_c_aspnet">one of the most common problems</a> reported in the Sandbox forum).</p>

<p>Lastly, once you start dealing with credit cards, you'll need to take
 care of PCI Compliance; here is a nice forum thread that provides <a href="http://www.pdncommunity.com/pdn/board/message?board.id=wppro&amp;view=by_date_ascending&amp;message.id=12723#M12723" target="paypal_c_aspnet">more information on that</a>.</p>

<h2><a id="Conclusion"></a>Conclusion</h2>

<p>My hope is that this article gave you good overview of PayPal 
integration options. If it did that, I'll be at peace - as once you have
 an understanding of the concepts laid out in this article, you'll 
easily fetch the needed details from the provided links. Sure, there are
 some topics we haven't touched, like <a href="https://cms.paypal.com/us/cgi-bin/?&amp;cmd=_render-content&amp;content_ID=developer/e_howto_html_encryptedwebpayments" target="paypal_c_aspnet">Encrypted Website Payments</a>, <a href="https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&amp;content_ID=developer/apicertificates" target="paypal_c_aspnet">PayPal API Certificates</a>, or <a href="https://cms.paypal.com/us/cgi-bin/?&amp;cmd=_render-content&amp;content_ID=developer/howto_gateway_payflowpro" target="paypal_c_aspnet">Payflow Gateway</a>, but I think you can tackle even that on your own once you fully understand all things written here.</p>

<p>If you get stuck on anything, I suggest that you first visit the <a href="https://www.x.com/threads" target="paypal_c_aspnet">PayPal Developer Community</a>
 and ask your question in the appropriate forum. A number of great, 
knowledable developers monitor those forums, and it's highly probable 
that you'll receive an answer to almost any PayPal issue within an hour.
 I also have an account on that site (lepipele) and try to answer 
questions whenever I have time; so feel free to send me a private 
message if you drop by or run into trouble.</p>

<h2><a id="History"></a>History</h2>

<ul>
<li>November 5<sup>th</sup>, 2009 - Updated links because of PayPal X restructuring</li>
<li>October 1<sup>st</sup>, 2009 - Initial version of the article.</li>
</ul>


						</div>
						<!-- Article Text End -->

						
						
						<h2>License</h2>
						<div id="LicenseTerms"><p>This article, along with any associated source code and files, is licensed under <a href="http://www.codeproject.com/info/cpol10.aspx" rel="license">The Code Project Open License (CPOL)</a></p></div>
						

						
						<h2 id="ctl00_AboutHeading">About the Author</h2>

						<div class="float-right">
						<div class="lqm_ad" lqm_publisher="lqm.codeproject.site" lqm_zone="ros" lqm_format="300x250" lqm_country="VN" lqm_tags=".NET2.0,C#1.0,C#2.0,.NET3.0,C#3.0,.NET3.5,ASP.NET,XML,Architect,Dev,Intermediate,PayPal"><iframe id="lqmad2" marginwidth="0" marginheight="0" frameborder="0" height="250" scrolling="no" width="300"></iframe></div>
						</div>

						
						
<table border="0" cellpadding="0" cellspacing="5">
<tbody><tr valign="top">
<td id="ctl00_AboutAuthorRptr_ctl00_AboutAuthor_memberPhotoTable" style="width: 155px;" valign="top">
	<b><a id="ctl00_AboutAuthorRptr_ctl00_AboutAuthor_memberProfileLink" href="http://www.codeproject.com/Members/lepipele">Predrag Tomasevic</a></b><br><br>
	<center></center>

	<div class="small-text">
		<span id="ctl00_AboutAuthorRptr_ctl00_AboutAuthor_memberJobTitle">Architect</span><br>
		<span id="ctl00_AboutAuthorRptr_ctl00_AboutAuthor_memberCompany">Freelancer</span><br>
		<span id="ctl00_AboutAuthorRptr_ctl00_AboutAuthor_memberLocation"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/RS.gif" alt="Serbia" height="11px" width="16px"> Serbia</span><br>
		<br>
		<span id="ctl00_AboutAuthorRptr_ctl00_AboutAuthor_memberType">Member</span><br>
		

		
	</div>
</td>

<td>
	http://www.linkedin.com/in/ptomasevic<br>	
</td>
</tr>
</tbody></table><br>
						
						

						<div class="clearfix"></div>

						
						<div id="ctl00_RateArticleRow" class="clearfix voting-bar">
						<div class="float-left" style="padding-top:8px"><a href="http://www.codeproject.com/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers#_articleTop">Article Top</a></div>
						<div class="float-right align-right">
							<div id="ctl00_RateArticle_RateItemWrapper" class="small-text" name="RateItem_42894">

	<table class="small-text" cellpadding="0" cellspacing="0" width="100%">
	<tbody><tr>
		<td id="ctl00_RateArticle_VoteResultDiv" nowrap="nowrap" align="right">
			<span class="voteRes"></span>
			<img class="loaderImg" alt="loading..." src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/animated_loading_blue.gif" style="display: none;" height="16px" width="16px"> 
		</td>

	
		<td class="voteTbl" style="white-space: nowrap;" align="right">
			<table class="small-text">
			<tbody><tr>
				
				<td id="ctl00_RateArticle_RateText" class="rating-prompt">
					Rate this:
				</td>

				<td id="ctl00_RateArticle_StartForm" nowrap="nowrap" align="right">
					<i>&nbsp;&nbsp;Poor</i>
				</td>

				<td id="ctl00_RateArticle_VoteFormDiv" class="nowrap">
					

					<span id="ctl00_RateArticle_RB" class="tooltip ajaxHist radio voting">
						<span id="ctl00_RateArticle_VoteRBL"><input id="ctl00_RateArticle_VoteRBL_0" name="ctl00$RateArticle$VoteRBL" value="1" onclick="ChkRtctl00_RateArticle(1, 42894);
$('#ctl00_RateArticle_RCD').show();
;" type="radio"><input id="ctl00_RateArticle_VoteRBL_1" name="ctl00$RateArticle$VoteRBL" value="2" onclick="ChkRtctl00_RateArticle(2, 42894);
$('#ctl00_RateArticle_RCD').show();
;" type="radio"><input id="ctl00_RateArticle_VoteRBL_2" name="ctl00$RateArticle$VoteRBL" value="3" onclick="ChkRtctl00_RateArticle(3, 42894);
$('#ctl00_RateArticle_RCD').show();
;" type="radio"><input id="ctl00_RateArticle_VoteRBL_3" name="ctl00$RateArticle$VoteRBL" value="4" onclick="ChkRtctl00_RateArticle(4, 42894);
$('#ctl00_RateArticle_RCD').show();
;" type="radio"><input id="ctl00_RateArticle_VoteRBL_4" name="ctl00$RateArticle$VoteRBL" value="5" onclick="ChkRtctl00_RateArticle(5, 42894);
$('#ctl00_RateArticle_RCD').show();
;" type="radio"></span> 

						
					</span>

				</td>

				<td id="ctl00_RateArticle_EndForm" align="left">
					<i>Excellent</i>
				</td>

				<td>	
					<input name="ctl00$RateArticle$SubmitRateBtn" value="Vote" onclick="return PostBack_ctl00_RateArticle_RateItemWrapper();" id="ctl00_RateArticle_SubmitRateBtn" class="button" type="submit">
				</td>
			</tr>
			</tbody></table>
			<span id="ctl00_RateArticle_ErrorMessage" class="error"></span>
		</td>
	</tr>
	</tbody></table>
	<div class="hover-container">
		<div id="ctl00_RateArticle_RCD" class="rating-comment align-left float-right">
			Add a reason or comment to your vote: <a href="#" id="clear-rate_ctl00_RateArticle_RCD" title="close">x</a><br>
			<textarea class="RateComment" rows="5" cols="60" style="width: 98%;"></textarea>
			<span id="ctl00_RateArticle_CommentReq" class="subdue">Votes of 3 or less require a comment</span>
		</div>
	</div>
</div>
						</div>
						</div>
						

					</form>

					
					<div style="margin:auto;padding:0px 10px;white-space:nowrap;overflow:hidden;width:468px;height:60px">		  
						<div class="lqm_ad" lqm_publisher="lqm.codeproject.site" lqm_zone="ros" lqm_format="468x60" lqm_country="VN" lqm_tags=".NET2.0,C#1.0,C#2.0,.NET3.0,C#3.0,.NET3.5,ASP.NET,XML,Architect,Dev,Intermediate,PayPal"><iframe id="lqmad3" marginwidth="0" marginheight="0" frameborder="0" height="60" scrolling="no" width="468"></iframe></div>
						
					</div>
					

					
					
					<h2>Comments and Discussions</h2>
					<a name="_comments" id="_comments">&nbsp;</a><div id="_MessageBoard" onclick="return SwitchMessage(event, null)">
<table id="ForumTable" class="box forum" cellpadding="0" cellspacing="0">
<tbody><tr>
<td><table border="0" cellpadding="3px" cellspacing="0" width="100%">
<tbody><tr class="forum-header1">
<td colspan="2" style="white-space: nowrap;"><div class="container">
<div class="button-newmsg float-left" onclick="FireNew(this)">
<img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/forum_newmsg.gif" alt="new" border="0" height="16px" width="16px" align="top"> <a href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=1550265&amp;floc=/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/" name="Frm_HoverNL" title="Create a new message thread" target="_top"><b>New Message</b></a>
</div>&nbsp;<div class="float-right">
<form action="/Search.aspx?fid=0" method="get" class="tight">
<input name="fid" value="1550265" type="hidden"><b>Search this forum </b><input class="Frm_Input" name="qf" style="width: 200px;" type="text">&nbsp;<input value="Go" class="button" type="submit">
</form>
</div>
</div></td></tr><tr class="forum-header2">
<td style="white-space: nowrap;">&nbsp;<a href="http://www.codeproject.com/KB/FAQs/MessageBoardsFAQ.aspx"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/msg_question.gif" title="FAQ" alt="FAQ" style="border-width: 0pt; width: 16px; height: 16px; vertical-align: middle;"></a></td><td style="width: 100%;"><div style="text-align:right;">
<form action="/script/Forums/SetOptions.aspx?floc=%2fArticles%2f42894%2fIntroduction-to-PayPal-for-C-ASP-NET-developers%2f&amp;fid=1550265" method="get" style="margin:0;padding:0;">
<input name="fid" value="1550265" type="hidden"><input name="currentQS" value="?floc=%2fArticles%2f42894%2fIntroduction-to-PayPal-for-C-ASP-NET-developers%2f&amp;fid=1550265" type="hidden"><input name="floc" value="/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/" type="hidden"><input checked="checked" name="prof" id="prof" style="vertical-align: middle;" type="checkbox"><label for="prof">Profile popups</label>&nbsp;&nbsp;&nbsp;&nbsp;Noise<select size="1" class="Frm_DropDown" name="noise">
<option value="1">Very High</option><option value="2">High</option><option selected="selected" value="3">Medium</option><option value="4">Low</option><option value="5">Very Low</option>
</select>&nbsp;&nbsp;Layout<select size="1" class="Frm_DropDown" name="view">
<option selected="selected" value="Quick">Normal</option><option value="Topic">Expand Posts only</option><option value="Expanded">Expand Posts &amp; Replies</option><option value="Thread">Thread View</option><option value="Normal">No Javascript</option><option value="Preview">No JS + Preview</option>
</select>&nbsp;&nbsp;Per page<select size="1" class="Frm_DropDown" name="mpp">
<option selected="selected" value="10">10</option><option value="25">25</option><option value="50">50</option>
</select>&nbsp;&nbsp;&nbsp;<input value="Update" name="SetOpt" class="button" type="submit">
</form>
</div></td>
</tr>

</tbody></table></td></tr><tr>
<td><a name="xx0xx"></a><table border="0" cellpadding="2px" cellspacing="0" width="100%">
<tbody><tr class="forum-navbar">
<td>&nbsp;</td><td style="text-align: right; width: 50%;"> <a href="http://www.codeproject.com/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/?fid=1550265">Refresh</a></td><td class="nav-link" style="text-align: right; white-space: nowrap;"><span class="subdue">First</span> <span class="subdue">Prev</span><a class="toolbar" name="Frm_HoverNL" href="http://www.codeproject.com/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/?fid=1550265&amp;fr=11#xx0xx">Next</a></td>
</tr>
</tbody></table></td>
</tr><tr>
<td><table class="fixed-layout blank-background" border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
<td><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/t_002.gif" alt="" border="0" height="5px" width="1px"></td>
</tr><tr class="MsgHd Rt HdUnSel " id="F4158173_h0">
<td width="100%"><table class="quickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr class="hover-row">
<td class="Frm_MsgIndent" width="16px"><a name="xx4158173xx"></a><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/msg_general.gif" alt="General" height="16px" width="16px" align="top"></td><td class="Frm_MsgSubject hover-container"><a class="message-link" name="4158173" parent="0" thread="4158173" href="http://www.codeproject.com/Messages/4158173/My-vote-of-5.aspx">My vote of 5</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/pin.gif" alt="Pin" border="0" height="12px" width="13px" align="top"></a></td><td class="Frm_MsgIcon"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/member_sm.gif" title="member" alt="member" border="0" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=8378595">Jay Kimble</a></td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">2:42 16 Feb '12 &nbsp;</td>
</tr>
</tbody></table></td>
</tr><tr id="F4158173_h1" style="display: none;">
<td width="100%"><table class="quickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
<td class="Frm_MsgIndent" style="width: 16px;"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/t_002.gif" alt="" height="1px" width="16px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
<tbody><tr>
<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
<td colspan="2">Thanks.. it's not just newbies having it tough time.. I integrated PP 4 years ago.. ALOT has changed!<br></td>
</tr><tr style="vertical-align: middle;">
<td class="msg-footer"><a class="toolbar" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=1550265&amp;select=4158173&amp;floc=/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/&amp;action=r" title="Reply">Reply</a>·<a class="toolbar" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=1550265&amp;select=4158173&amp;floc=/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/&amp;action=e" title="Email">Email</a>·<a class="toolbar" href="http://www.codeproject.com/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/?fid=1550265&amp;tid=4158173" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="toolbar" href="http://www.codeproject.com/Messages/4158173/My-vote-of-5.aspx" title="Get permanent link">Permalink</a>·<a class="toolbar" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=4158173&amp;obtid=3&amp;action=AddBookmark&amp;bio=false" title="Bookmark this post" onclick="return bookmarkMe(0,0,'/script/Bookmarks/Ajax/Add.aspx?obid=4158173&amp;obtid=3&amp;action=AddBookmark&amp;bio=false',false, this, this);">Bookmark</a></td><td class="msg-footer" style="text-align: right;"><span id="MVF4158173" style="white-space:nowrap;"><script type="text/javascript">
MsgVFrm(8378595,4158173,false,"","","");
</script>Rate this message: <a href="#xx4158173xx" onclick="RateMsg(8378595, 4158173,1,0);"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/thumbs_down.gif" alt="vote 1" border="0" height="14px" width="14px" align="middle"></a> <a class="toolbar nav-link" href="#xx4158173xx" title="vote this message a 1" onclick="RateMsg(8378595, 4158173, 1,0)"><b>1</b></a> <a class="toolbar nav-link" href="#xx4158173xx" title="vote this message a 2" onclick="RateMsg(8378595, 4158173, 2,0)"><b>2</b></a> <a class="toolbar nav-link" href="#xx4158173xx" title="vote this message a 3" onclick="RateMsg(8378595, 4158173, 3,0)"><b>3</b></a> <a class="toolbar nav-link" href="#xx4158173xx" title="vote this message a 4" onclick="RateMsg(8378595, 4158173, 4,0)"><b>4</b></a> <a class="toolbar nav-link" href="#xx4158173xx" title="vote this message a 5" onclick="RateMsg(8378595, 4158173, 5,0)"><b>5</b></a> <a href="#xx4158173xx" onclick="RateMsg(8378595, 4158173,5,0);"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/thumbs_up.gif" alt="vote 5" border="0" height="14px" width="14px" align="middle"></a> </span></td>
</tr>
</tbody></table></td>
</tr>
</tbody></table></td>
</tr>
</tbody></table></td>
</tr><tr class="quick">
<td class="root msg-divide"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/t_002.gif" alt="" border="0" height="1px" width="1px"></td>
</tr><tr class="MsgHd Rt HdUnSel " id="F4145235_h0">
<td width="100%"><table class="quickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr class="hover-row">
<td class="Frm_MsgIndent" width="16px"><a name="xx4145235xx"></a><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/msg_general.gif" alt="General" height="16px" width="16px" align="top"></td><td class="Frm_MsgSubject hover-container"><a class="message-link" name="4145235" parent="0" thread="4145235" href="http://www.codeproject.com/Messages/4145235/My-vote-of-5.aspx">My vote of 5</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/pin.gif" alt="Pin" border="0" height="12px" width="13px" align="top"></a></td><td class="Frm_MsgIcon"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/member_sm.gif" title="member" alt="member" border="0" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=906856">RC_Sebastien_C</a></td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">5:20 2 Feb '12 &nbsp;</td>
</tr>
</tbody></table></td>
</tr><tr id="F4145235_h1" style="display: none;">
<td width="100%"><table class="quickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
<td class="Frm_MsgIndent" style="width: 16px;"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/t_002.gif" alt="" height="1px" width="16px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
<tbody><tr>
<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
<td colspan="2">Thanks<br></td>
</tr><tr style="vertical-align: middle;">
<td class="msg-footer"><a class="toolbar" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=1550265&amp;select=4145235&amp;floc=/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/&amp;action=r" title="Reply">Reply</a>·<a class="toolbar" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=1550265&amp;select=4145235&amp;floc=/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/&amp;action=e" title="Email">Email</a>·<a class="toolbar" href="http://www.codeproject.com/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/?fid=1550265&amp;tid=4145235" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="toolbar" href="http://www.codeproject.com/Messages/4145235/My-vote-of-5.aspx" title="Get permanent link">Permalink</a>·<a class="toolbar" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=4145235&amp;obtid=3&amp;action=AddBookmark&amp;bio=false" title="Bookmark this post" onclick="return bookmarkMe(0,0,'/script/Bookmarks/Ajax/Add.aspx?obid=4145235&amp;obtid=3&amp;action=AddBookmark&amp;bio=false',false, this, this);">Bookmark</a></td><td class="msg-footer" style="text-align: right;"><span id="MVF4145235" style="white-space:nowrap;"><script type="text/javascript">
MsgVFrm(906856,4145235,false,"","","");
</script>Rate this message: <a href="#xx4145235xx" onclick="RateMsg(906856, 4145235,1,0);"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/thumbs_down.gif" alt="vote 1" border="0" height="14px" width="14px" align="middle"></a> <a class="toolbar nav-link" href="#xx4145235xx" title="vote this message a 1" onclick="RateMsg(906856, 4145235, 1,0)"><b>1</b></a> <a class="toolbar nav-link" href="#xx4145235xx" title="vote this message a 2" onclick="RateMsg(906856, 4145235, 2,0)"><b>2</b></a> <a class="toolbar nav-link" href="#xx4145235xx" title="vote this message a 3" onclick="RateMsg(906856, 4145235, 3,0)"><b>3</b></a> <a class="toolbar nav-link" href="#xx4145235xx" title="vote this message a 4" onclick="RateMsg(906856, 4145235, 4,0)"><b>4</b></a> <a class="toolbar nav-link" href="#xx4145235xx" title="vote this message a 5" onclick="RateMsg(906856, 4145235, 5,0)"><b>5</b></a> <a href="#xx4145235xx" onclick="RateMsg(906856, 4145235,5,0);"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/thumbs_up.gif" alt="vote 5" border="0" height="14px" width="14px" align="middle"></a> </span></td>
</tr>
</tbody></table></td>
</tr>
</tbody></table></td>
</tr>
</tbody></table></td>
</tr><tr class="quick">
<td class="root msg-divide"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/t_002.gif" alt="" border="0" height="1px" width="1px"></td>
</tr><tr class="MsgHd Rt HdUnSel " id="F4128966_h0">
<td width="100%"><table class="quickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr class="hover-row">
<td class="Frm_MsgIndent" width="16px"><a name="xx4128966xx"></a><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/msg_general.gif" alt="General" height="16px" width="16px" align="top"></td><td class="Frm_MsgSubject hover-container"><a class="message-link" name="4128966" parent="0" thread="4128966" href="http://www.codeproject.com/Messages/4128966/My-vote-of-5.aspx">My vote of 5</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/pin.gif" alt="Pin" border="0" height="12px" width="13px" align="top"></a></td><td class="Frm_MsgIcon"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/member_sm.gif" title="member" alt="member" border="0" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=7641776">Doronmi</a></td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">4:37 16 Jan '12 &nbsp;</td>
</tr>
</tbody></table></td>
</tr><tr id="F4128966_h1" style="display: none;">
<td width="100%"><table class="quickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
<td class="Frm_MsgIndent" style="width: 16px;"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/t_002.gif" alt="" height="1px" width="16px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
<tbody><tr>
<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
<td colspan="2">Great one ! many thanks.<br></td>
</tr><tr style="vertical-align: middle;">
<td class="msg-footer"><a class="toolbar" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=1550265&amp;select=4128966&amp;floc=/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/&amp;action=r" title="Reply">Reply</a>·<a class="toolbar" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=1550265&amp;select=4128966&amp;floc=/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/&amp;action=e" title="Email">Email</a>·<a class="toolbar" href="http://www.codeproject.com/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/?fid=1550265&amp;tid=4128966" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="toolbar" href="http://www.codeproject.com/Messages/4128966/My-vote-of-5.aspx" title="Get permanent link">Permalink</a>·<a class="toolbar" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=4128966&amp;obtid=3&amp;action=AddBookmark&amp;bio=false" title="Bookmark this post" onclick="return bookmarkMe(0,0,'/script/Bookmarks/Ajax/Add.aspx?obid=4128966&amp;obtid=3&amp;action=AddBookmark&amp;bio=false',false, this, this);">Bookmark</a></td><td class="msg-footer" style="text-align: right;"><span id="MVF4128966" style="white-space:nowrap;"><script type="text/javascript">
MsgVFrm(7641776,4128966,false,"","","");
</script>Rate this message: <a href="#xx4128966xx" onclick="RateMsg(7641776, 4128966,1,0);"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/thumbs_down.gif" alt="vote 1" border="0" height="14px" width="14px" align="middle"></a> <a class="toolbar nav-link" href="#xx4128966xx" title="vote this message a 1" onclick="RateMsg(7641776, 4128966, 1,0)"><b>1</b></a> <a class="toolbar nav-link" href="#xx4128966xx" title="vote this message a 2" onclick="RateMsg(7641776, 4128966, 2,0)"><b>2</b></a> <a class="toolbar nav-link" href="#xx4128966xx" title="vote this message a 3" onclick="RateMsg(7641776, 4128966, 3,0)"><b>3</b></a> <a class="toolbar nav-link" href="#xx4128966xx" title="vote this message a 4" onclick="RateMsg(7641776, 4128966, 4,0)"><b>4</b></a> <a class="toolbar nav-link" href="#xx4128966xx" title="vote this message a 5" onclick="RateMsg(7641776, 4128966, 5,0)"><b>5</b></a> <a href="#xx4128966xx" onclick="RateMsg(7641776, 4128966,5,0);"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/thumbs_up.gif" alt="vote 5" border="0" height="14px" width="14px" align="middle"></a> </span></td>
</tr>
</tbody></table></td>
</tr>
</tbody></table></td>
</tr>
</tbody></table></td>
</tr><tr class="quick">
<td class="root msg-divide"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/t_002.gif" alt="" border="0" height="1px" width="1px"></td>
</tr><tr class="MsgHd Rt HdUnSel " id="F4128562_h0">
<td width="100%"><table class="quickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr class="hover-row">
<td class="Frm_MsgIndent" width="16px"><a name="xx4128562xx"></a><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/msg_general.gif" alt="General" height="16px" width="16px" align="top"></td><td class="Frm_MsgSubject hover-container"><a class="message-link" name="4128562" parent="0" thread="4128562" href="http://www.codeproject.com/Messages/4128562/My-vote-of-5.aspx">My vote of 5</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/pin.gif" alt="Pin" border="0" height="12px" width="13px" align="top"></a></td><td class="Frm_MsgIcon"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/member_sm.gif" title="member" alt="member" border="0" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=4273210">cyrildex</a></td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">2:57 15 Jan '12 &nbsp;</td>
</tr>
</tbody></table></td>
</tr><tr id="F4128562_h1" style="display: none;">
<td width="100%"><table class="quickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
<td class="Frm_MsgIndent" style="width: 16px;"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/t_002.gif" alt="" height="1px" width="16px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
<tbody><tr>
<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
<td colspan="2">This article will get you up and running with Paypal.<br></td>
</tr><tr style="vertical-align: middle;">
<td class="msg-footer"><a class="toolbar" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=1550265&amp;select=4128562&amp;floc=/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/&amp;action=r" title="Reply">Reply</a>·<a class="toolbar" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=1550265&amp;select=4128562&amp;floc=/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/&amp;action=e" title="Email">Email</a>·<a class="toolbar" href="http://www.codeproject.com/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/?fid=1550265&amp;tid=4128562" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="toolbar" href="http://www.codeproject.com/Messages/4128562/My-vote-of-5.aspx" title="Get permanent link">Permalink</a>·<a class="toolbar" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=4128562&amp;obtid=3&amp;action=AddBookmark&amp;bio=false" title="Bookmark this post" onclick="return bookmarkMe(0,0,'/script/Bookmarks/Ajax/Add.aspx?obid=4128562&amp;obtid=3&amp;action=AddBookmark&amp;bio=false',false, this, this);">Bookmark</a></td><td class="msg-footer" style="text-align: right;"><span id="MVF4128562" style="white-space:nowrap;"><script type="text/javascript">
MsgVFrm(4273210,4128562,false,"","","");
</script>Rate this message: <a href="#xx4128562xx" onclick="RateMsg(4273210, 4128562,1,0);"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/thumbs_down.gif" alt="vote 1" border="0" height="14px" width="14px" align="middle"></a> <a class="toolbar nav-link" href="#xx4128562xx" title="vote this message a 1" onclick="RateMsg(4273210, 4128562, 1,0)"><b>1</b></a> <a class="toolbar nav-link" href="#xx4128562xx" title="vote this message a 2" onclick="RateMsg(4273210, 4128562, 2,0)"><b>2</b></a> <a class="toolbar nav-link" href="#xx4128562xx" title="vote this message a 3" onclick="RateMsg(4273210, 4128562, 3,0)"><b>3</b></a> <a class="toolbar nav-link" href="#xx4128562xx" title="vote this message a 4" onclick="RateMsg(4273210, 4128562, 4,0)"><b>4</b></a> <a class="toolbar nav-link" href="#xx4128562xx" title="vote this message a 5" onclick="RateMsg(4273210, 4128562, 5,0)"><b>5</b></a> <a href="#xx4128562xx" onclick="RateMsg(4273210, 4128562,5,0);"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/thumbs_up.gif" alt="vote 5" border="0" height="14px" width="14px" align="middle"></a> </span></td>
</tr>
</tbody></table></td>
</tr>
</tbody></table></td>
</tr>
</tbody></table></td>
</tr><tr class="quick">
<td class="root msg-divide"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/t_002.gif" alt="" border="0" height="1px" width="1px"></td>
</tr><tr class="MsgHd Rt HdUnSel " id="F4125449_h0">
<td width="100%"><table class="quickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr class="hover-row">
<td class="Frm_MsgIndent" width="16px"><a name="xx4125449xx"></a><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/msg_question_002.gif" alt="Question" height="16px" width="16px" align="top"></td><td class="Frm_MsgSubject hover-container"><a class="message-link" name="4125449" parent="0" thread="4125449" href="http://www.codeproject.com/Messages/4125449/how-to-combine-the-PDT-with-IPN.aspx">how to combine the PDT with IPN</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/pin.gif" alt="Pin" border="0" height="12px" width="13px" align="top"></a></td><td class="Frm_MsgIcon"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/member_sm.gif" title="member" alt="member" border="0" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=6498800">Zaheer Mazhar</a></td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">0:31 12 Jan '12 &nbsp;</td>
</tr>
</tbody></table></td>
</tr><tr id="F4125449_h1" style="display: none;">
<td width="100%"><table class="quickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
<td class="Frm_MsgIndent" style="width: 16px;"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/t_002.gif" alt="" height="1px" width="16px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
<tbody><tr>
<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
<td colspan="2">First of all thanks for writing such a nice and 
informative article on Paypal. It made very easy for everyone to 
implement the Paypal in any site. Secondly can you please tell me how to
 combine PDT with IPN. I have one questions that if user is redirected 
back to success page using PDT, then when IPN will trigger the specified
 page(the success page) then how we will distinguish and come to know 
that the database is already updated or not.<br>
&nbsp;<br>
Your urgent response will be appreciated. <img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/smiley_smile.gif" alt="Smile | :)" align="top"> <br></td>
</tr><tr style="vertical-align: middle;">
<td class="msg-footer"><a class="toolbar" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=1550265&amp;select=4125449&amp;floc=/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/&amp;action=r" title="Reply">Reply</a>·<a class="toolbar" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=1550265&amp;select=4125449&amp;floc=/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/&amp;action=e" title="Email">Email</a>·<a class="toolbar" href="http://www.codeproject.com/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/?fid=1550265&amp;tid=4125449" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="toolbar" href="http://www.codeproject.com/Messages/4125449/how-to-combine-the-PDT-with-IPN.aspx" title="Get permanent link">Permalink</a>·<a class="toolbar" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=4125449&amp;obtid=3&amp;action=AddBookmark&amp;bio=false" title="Bookmark this post" onclick="return bookmarkMe(0,0,'/script/Bookmarks/Ajax/Add.aspx?obid=4125449&amp;obtid=3&amp;action=AddBookmark&amp;bio=false',false, this, this);">Bookmark</a></td><td class="msg-footer" style="text-align: right;"><span id="MVF4125449" style="white-space:nowrap;"><script type="text/javascript">
MsgVFrm(6498800,4125449,false,"","","");
</script>Rate this message: <a href="#xx4125449xx" onclick="RateMsg(6498800, 4125449,1,0);"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/thumbs_down.gif" alt="vote 1" border="0" height="14px" width="14px" align="middle"></a> <a class="toolbar nav-link" href="#xx4125449xx" title="vote this message a 1" onclick="RateMsg(6498800, 4125449, 1,0)"><b>1</b></a> <a class="toolbar nav-link" href="#xx4125449xx" title="vote this message a 2" onclick="RateMsg(6498800, 4125449, 2,0)"><b>2</b></a> <a class="toolbar nav-link" href="#xx4125449xx" title="vote this message a 3" onclick="RateMsg(6498800, 4125449, 3,0)"><b>3</b></a> <a class="toolbar nav-link" href="#xx4125449xx" title="vote this message a 4" onclick="RateMsg(6498800, 4125449, 4,0)"><b>4</b></a> <a class="toolbar nav-link" href="#xx4125449xx" title="vote this message a 5" onclick="RateMsg(6498800, 4125449, 5,0)"><b>5</b></a> <a href="#xx4125449xx" onclick="RateMsg(6498800, 4125449,5,0);"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/thumbs_up.gif" alt="vote 5" border="0" height="14px" width="14px" align="middle"></a> </span></td>
</tr>
</tbody></table></td>
</tr>
</tbody></table></td>
</tr>
</tbody></table></td>
</tr><tr class="quick">
<td class="root msg-divide"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/t_002.gif" alt="" border="0" height="1px" width="1px"></td>
</tr><tr class="MsgHd Rt HdUnSel " id="F4116954_h0">
<td width="100%"><table class="quickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr class="hover-row">
<td class="Frm_MsgIndent" width="16px"><a name="xx4116954xx"></a><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/msg_question_002.gif" alt="Question" height="16px" width="16px" align="top"></td><td class="Frm_MsgSubject hover-container"><a class="message-link" name="4116954" parent="0" thread="4116954" href="http://www.codeproject.com/Messages/4116954/Wheres-code-for-doderectpayment.aspx">Where's code for doderectpayment?</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/pin.gif" alt="Pin" border="0" height="12px" width="13px" align="top"></a></td><td class="Frm_MsgIcon"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/member_sm.gif" title="member" alt="member" border="0" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=3302846">CodeBill</a></td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">1:01 3 Jan '12 &nbsp;</td>
</tr>
</tbody></table></td>
</tr><tr id="F4116954_h1" style="display: none;">
<td width="100%"><table class="quickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
<td class="Frm_MsgIndent" style="width: 16px;"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/t_002.gif" alt="" height="1px" width="16px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
<tbody><tr>
<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
<td colspan="2">Please show me where's code for doderectpayment?<br>
&nbsp;<br>
Thanks<br></td>
</tr><tr style="vertical-align: middle;">
<td class="msg-footer"><a class="toolbar" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=1550265&amp;select=4116954&amp;floc=/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/&amp;action=r" title="Reply">Reply</a>·<a class="toolbar" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=1550265&amp;select=4116954&amp;floc=/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/&amp;action=e" title="Email">Email</a>·<a class="toolbar" href="http://www.codeproject.com/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/?fid=1550265&amp;tid=4116954" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="toolbar" href="http://www.codeproject.com/Messages/4116954/Wheres-code-for-doderectpayment.aspx" title="Get permanent link">Permalink</a>·<a class="toolbar" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=4116954&amp;obtid=3&amp;action=AddBookmark&amp;bio=false" title="Bookmark this post" onclick="return bookmarkMe(0,0,'/script/Bookmarks/Ajax/Add.aspx?obid=4116954&amp;obtid=3&amp;action=AddBookmark&amp;bio=false',false, this, this);">Bookmark</a></td><td class="msg-footer" style="text-align: right;"><span id="MVF4116954" style="white-space:nowrap;"><script type="text/javascript">
MsgVFrm(3302846,4116954,false,"","","");
</script>Rate this message: <a href="#xx4116954xx" onclick="RateMsg(3302846, 4116954,1,0);"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/thumbs_down.gif" alt="vote 1" border="0" height="14px" width="14px" align="middle"></a> <a class="toolbar nav-link" href="#xx4116954xx" title="vote this message a 1" onclick="RateMsg(3302846, 4116954, 1,0)"><b>1</b></a> <a class="toolbar nav-link" href="#xx4116954xx" title="vote this message a 2" onclick="RateMsg(3302846, 4116954, 2,0)"><b>2</b></a> <a class="toolbar nav-link" href="#xx4116954xx" title="vote this message a 3" onclick="RateMsg(3302846, 4116954, 3,0)"><b>3</b></a> <a class="toolbar nav-link" href="#xx4116954xx" title="vote this message a 4" onclick="RateMsg(3302846, 4116954, 4,0)"><b>4</b></a> <a class="toolbar nav-link" href="#xx4116954xx" title="vote this message a 5" onclick="RateMsg(3302846, 4116954, 5,0)"><b>5</b></a> <a href="#xx4116954xx" onclick="RateMsg(3302846, 4116954,5,0);"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/thumbs_up.gif" alt="vote 5" border="0" height="14px" width="14px" align="middle"></a> </span></td>
</tr>
</tbody></table></td>
</tr>
</tbody></table></td>
</tr>
</tbody></table></td>
</tr><tr class="quick">
<td class="root msg-divide"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/t_002.gif" alt="" border="0" height="1px" width="1px"></td>
</tr><tr class="MsgHd Rt HdUnSel " id="F4111372_h0">
<td width="100%"><table class="quickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr class="hover-row">
<td class="Frm_MsgIndent" width="16px"><a name="xx4111372xx"></a><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/msg_general.gif" alt="General" height="16px" width="16px" align="top"></td><td class="Frm_MsgSubject hover-container"><a class="message-link" name="4111372" parent="0" thread="4111372" href="http://www.codeproject.com/Messages/4111372/My-5.aspx">My 5</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/pin.gif" alt="Pin" border="0" height="12px" width="13px" align="top"></a></td><td class="Frm_MsgIcon"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/member_sm.gif" title="member" alt="member" border="0" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=8009220">theanil</a></td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">1:28 24 Dec '11 &nbsp;</td>
</tr>
</tbody></table></td>
</tr><tr id="F4111372_h1" style="display: none;">
<td width="100%"><table class="quickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
<td class="Frm_MsgIndent" style="width: 16px;"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/t_002.gif" alt="" height="1px" width="16px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
<tbody><tr>
<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
<td colspan="2"><b>Excellent article</b><br>
<div class="signature">theanil</div><br></td>
</tr><tr style="vertical-align: middle;">
<td class="msg-footer"><a class="toolbar" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=1550265&amp;select=4111372&amp;floc=/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/&amp;action=r" title="Reply">Reply</a>·<a class="toolbar" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=1550265&amp;select=4111372&amp;floc=/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/&amp;action=e" title="Email">Email</a>·<a class="toolbar" href="http://www.codeproject.com/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/?fid=1550265&amp;tid=4111372" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="toolbar" href="http://www.codeproject.com/Messages/4111372/My-5.aspx" title="Get permanent link">Permalink</a>·<a class="toolbar" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=4111372&amp;obtid=3&amp;action=AddBookmark&amp;bio=false" title="Bookmark this post" onclick="return bookmarkMe(0,0,'/script/Bookmarks/Ajax/Add.aspx?obid=4111372&amp;obtid=3&amp;action=AddBookmark&amp;bio=false',false, this, this);">Bookmark</a></td><td class="msg-footer" style="text-align: right;"><span id="MVF4111372" style="white-space:nowrap;"><script type="text/javascript">
MsgVFrm(8009220,4111372,false,"","","");
</script>Rate this message: <a href="#xx4111372xx" onclick="RateMsg(8009220, 4111372,1,0);"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/thumbs_down.gif" alt="vote 1" border="0" height="14px" width="14px" align="middle"></a> <a class="toolbar nav-link" href="#xx4111372xx" title="vote this message a 1" onclick="RateMsg(8009220, 4111372, 1,0)"><b>1</b></a> <a class="toolbar nav-link" href="#xx4111372xx" title="vote this message a 2" onclick="RateMsg(8009220, 4111372, 2,0)"><b>2</b></a> <a class="toolbar nav-link" href="#xx4111372xx" title="vote this message a 3" onclick="RateMsg(8009220, 4111372, 3,0)"><b>3</b></a> <a class="toolbar nav-link" href="#xx4111372xx" title="vote this message a 4" onclick="RateMsg(8009220, 4111372, 4,0)"><b>4</b></a> <a class="toolbar nav-link" href="#xx4111372xx" title="vote this message a 5" onclick="RateMsg(8009220, 4111372, 5,0)"><b>5</b></a> <a href="#xx4111372xx" onclick="RateMsg(8009220, 4111372,5,0);"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/thumbs_up.gif" alt="vote 5" border="0" height="14px" width="14px" align="middle"></a> </span></td>
</tr>
</tbody></table></td>
</tr>
</tbody></table></td>
</tr>
</tbody></table></td>
</tr><tr class="quick">
<td class="root msg-divide"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/t_002.gif" alt="" border="0" height="1px" width="1px"></td>
</tr><tr class="MsgHd Rt HdUnSel " id="F4106294_h0">
<td width="100%"><table class="quickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr class="hover-row">
<td class="Frm_MsgIndent" width="16px"><a name="xx4106294xx"></a><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/msg_general.gif" alt="General" height="16px" width="16px" align="top"></td><td class="Frm_MsgSubject hover-container"><a class="message-link" name="4106294" parent="0" thread="4106294" href="http://www.codeproject.com/Messages/4106294/My-vote-of-5.aspx">My vote of 5</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/pin.gif" alt="Pin" border="0" height="12px" width="13px" align="top"></a></td><td class="Frm_MsgIcon"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/member_sm.gif" title="member" alt="member" border="0" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=7484445">Maks1004</a></td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">4:38 18 Dec '11 &nbsp;</td>
</tr>
</tbody></table></td>
</tr><tr id="F4106294_h1" style="display: none;">
<td width="100%"><table class="quickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
<td class="Frm_MsgIndent" style="width: 16px;"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/t_002.gif" alt="" height="1px" width="16px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
<tbody><tr>
<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
<td colspan="2">Thank you for very useful and interesting article! You've helped me so much!<br></td>
</tr><tr style="vertical-align: middle;">
<td class="msg-footer"><a class="toolbar" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=1550265&amp;select=4106294&amp;floc=/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/&amp;action=r" title="Reply">Reply</a>·<a class="toolbar" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=1550265&amp;select=4106294&amp;floc=/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/&amp;action=e" title="Email">Email</a>·<a class="toolbar" href="http://www.codeproject.com/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/?fid=1550265&amp;tid=4106294" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="toolbar" href="http://www.codeproject.com/Messages/4106294/My-vote-of-5.aspx" title="Get permanent link">Permalink</a>·<a class="toolbar" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=4106294&amp;obtid=3&amp;action=AddBookmark&amp;bio=false" title="Bookmark this post" onclick="return bookmarkMe(0,0,'/script/Bookmarks/Ajax/Add.aspx?obid=4106294&amp;obtid=3&amp;action=AddBookmark&amp;bio=false',false, this, this);">Bookmark</a></td><td class="msg-footer" style="text-align: right;"><span id="MVF4106294" style="white-space:nowrap;"><script type="text/javascript">
MsgVFrm(7484445,4106294,false,"","","");
</script>Rate this message: <a href="#xx4106294xx" onclick="RateMsg(7484445, 4106294,1,0);"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/thumbs_down.gif" alt="vote 1" border="0" height="14px" width="14px" align="middle"></a> <a class="toolbar nav-link" href="#xx4106294xx" title="vote this message a 1" onclick="RateMsg(7484445, 4106294, 1,0)"><b>1</b></a> <a class="toolbar nav-link" href="#xx4106294xx" title="vote this message a 2" onclick="RateMsg(7484445, 4106294, 2,0)"><b>2</b></a> <a class="toolbar nav-link" href="#xx4106294xx" title="vote this message a 3" onclick="RateMsg(7484445, 4106294, 3,0)"><b>3</b></a> <a class="toolbar nav-link" href="#xx4106294xx" title="vote this message a 4" onclick="RateMsg(7484445, 4106294, 4,0)"><b>4</b></a> <a class="toolbar nav-link" href="#xx4106294xx" title="vote this message a 5" onclick="RateMsg(7484445, 4106294, 5,0)"><b>5</b></a> <a href="#xx4106294xx" onclick="RateMsg(7484445, 4106294,5,0);"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/thumbs_up.gif" alt="vote 5" border="0" height="14px" width="14px" align="middle"></a> </span></td>
</tr>
</tbody></table></td>
</tr>
</tbody></table></td>
</tr>
</tbody></table></td>
</tr><tr class="quick">
<td class="root msg-divide"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/t_002.gif" alt="" border="0" height="1px" width="1px"></td>
</tr><tr class="MsgHd LoVote Rt HdUnSel " id="F4093578_h0">
<td width="100%"><table class="quickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr class="hover-row">
<td class="Frm_MsgIndent" width="16px"><a name="xx4093578xx"></a><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/msg_question_002.gif" alt="Question" height="16px" width="16px" align="top"></td><td class="Frm_MsgSubject hover-container"><a class="message-link" name="4093578" parent="0" thread="4093578" href="http://www.codeproject.com/Messages/4093578/PayPal-API-Csharp-Net-Wrapper.aspx">PayPal API C# .Net Wrapper</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/pin.gif" alt="Pin" border="0" height="12px" width="13px" align="top"></a></td><td class="Frm_MsgIcon"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/member_sm.gif" title="member" alt="member" border="0" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=8397946">Member 8397946</a></td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">20:33 2 Dec '11 &nbsp;</td>
</tr>
</tbody></table></td>
</tr><tr id="F4093578_h1" style="display: none;">
<td width="100%"><table class="quickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
<td class="Frm_MsgIndent" style="width: 16px;"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/t_002.gif" alt="" height="1px" width="16px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
<tbody><tr>
<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
<td colspan="2">There is a perfectly and much more recently updated piece of code on this url: <a href="http://thecodenode.com/PayPalAPICSharpdotNetWrapper.aspx">PayPal API C# .Net Wrapper</a><br></td>
</tr><tr style="vertical-align: middle;">
<td class="msg-footer"><a class="toolbar" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=1550265&amp;select=4093578&amp;floc=/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/&amp;action=r" title="Reply">Reply</a>·<a class="toolbar" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=1550265&amp;select=4093578&amp;floc=/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/&amp;action=e" title="Email">Email</a>·<a class="toolbar" href="http://www.codeproject.com/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/?fid=1550265&amp;tid=4093578" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="toolbar" href="http://www.codeproject.com/Messages/4093578/PayPal-API-Csharp-Net-Wrapper.aspx" title="Get permanent link">Permalink</a>·<a class="toolbar" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=4093578&amp;obtid=3&amp;action=AddBookmark&amp;bio=false" title="Bookmark this post" onclick="return bookmarkMe(0,0,'/script/Bookmarks/Ajax/Add.aspx?obid=4093578&amp;obtid=3&amp;action=AddBookmark&amp;bio=false',false, this, this);">Bookmark</a></td><td class="msg-footer" style="text-align: right;"><span id="MVF4093578" style="white-space:nowrap;">1.00/5 (1 vote) <script type="text/javascript">
MsgVFrm(8397946,4093578,false,"","","");
</script>Rate this message: <a href="#xx4093578xx" onclick="RateMsg(8397946, 4093578,1,0);"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/thumbs_down.gif" alt="vote 1" border="0" height="14px" width="14px" align="middle"></a> <a class="toolbar nav-link" href="#xx4093578xx" title="vote this message a 1" onclick="RateMsg(8397946, 4093578, 1,0)"><b>1</b></a> <a class="toolbar nav-link" href="#xx4093578xx" title="vote this message a 2" onclick="RateMsg(8397946, 4093578, 2,0)"><b>2</b></a> <a class="toolbar nav-link" href="#xx4093578xx" title="vote this message a 3" onclick="RateMsg(8397946, 4093578, 3,0)"><b>3</b></a> <a class="toolbar nav-link" href="#xx4093578xx" title="vote this message a 4" onclick="RateMsg(8397946, 4093578, 4,0)"><b>4</b></a> <a class="toolbar nav-link" href="#xx4093578xx" title="vote this message a 5" onclick="RateMsg(8397946, 4093578, 5,0)"><b>5</b></a> <a href="#xx4093578xx" onclick="RateMsg(8397946, 4093578,5,0);"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/thumbs_up.gif" alt="vote 5" border="0" height="14px" width="14px" align="middle"></a> </span></td>
</tr>
</tbody></table></td>
</tr>
</tbody></table></td>
</tr>
</tbody></table></td>
</tr><tr class="quick">
<td class="root msg-divide"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/t_002.gif" alt="" border="0" height="1px" width="1px"></td>
</tr><tr class="MsgHd Rt HdUnSel " id="F4087145_h0">
<td width="100%"><table class="quickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr class="hover-row">
<td class="Frm_MsgIndent" width="16px"><a name="xx4087145xx"></a><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/msg_general.gif" alt="General" height="16px" width="16px" align="top"></td><td class="Frm_MsgSubject hover-container"><a class="message-link" name="4087145" parent="0" thread="4087145" href="http://www.codeproject.com/Messages/4087145/My-vote-of-5.aspx">My vote of 5</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/pin.gif" alt="Pin" border="0" height="12px" width="13px" align="top"></a></td><td class="Frm_MsgIcon"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/member_sm.gif" title="member" alt="member" border="0" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=7306409">Uday <font color="red">P</font>.Singh</a></td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">1:01 25 Nov '11 &nbsp;</td>
</tr>
</tbody></table></td>
</tr><tr id="F4087145_h1" style="display: none;">
<td width="100%"><table class="quickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
<td class="Frm_MsgIndent" style="width: 16px;"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/t_002.gif" alt="" height="1px" width="16px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
<tbody><tr>
<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
<td colspan="2">very nice article!<br></td>
</tr><tr style="vertical-align: middle;">
<td class="msg-footer"><a class="toolbar" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=1550265&amp;select=4087145&amp;floc=/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/&amp;action=r" title="Reply">Reply</a>·<a class="toolbar" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=1550265&amp;select=4087145&amp;floc=/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/&amp;action=e" title="Email">Email</a>·<a class="toolbar" href="http://www.codeproject.com/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/?fid=1550265&amp;tid=4087145" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="toolbar" href="http://www.codeproject.com/Messages/4087145/My-vote-of-5.aspx" title="Get permanent link">Permalink</a>·<a class="toolbar" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=4087145&amp;obtid=3&amp;action=AddBookmark&amp;bio=false" title="Bookmark this post" onclick="return bookmarkMe(0,0,'/script/Bookmarks/Ajax/Add.aspx?obid=4087145&amp;obtid=3&amp;action=AddBookmark&amp;bio=false',false, this, this);">Bookmark</a></td><td class="msg-footer" style="text-align: right;"><span id="MVF4087145" style="white-space:nowrap;"><script type="text/javascript">
MsgVFrm(7306409,4087145,false,"","","");
</script>Rate this message: <a href="#xx4087145xx" onclick="RateMsg(7306409, 4087145,1,0);"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/thumbs_down.gif" alt="vote 1" border="0" height="14px" width="14px" align="middle"></a> <a class="toolbar nav-link" href="#xx4087145xx" title="vote this message a 1" onclick="RateMsg(7306409, 4087145, 1,0)"><b>1</b></a> <a class="toolbar nav-link" href="#xx4087145xx" title="vote this message a 2" onclick="RateMsg(7306409, 4087145, 2,0)"><b>2</b></a> <a class="toolbar nav-link" href="#xx4087145xx" title="vote this message a 3" onclick="RateMsg(7306409, 4087145, 3,0)"><b>3</b></a> <a class="toolbar nav-link" href="#xx4087145xx" title="vote this message a 4" onclick="RateMsg(7306409, 4087145, 4,0)"><b>4</b></a> <a class="toolbar nav-link" href="#xx4087145xx" title="vote this message a 5" onclick="RateMsg(7306409, 4087145, 5,0)"><b>5</b></a> <a href="#xx4087145xx" onclick="RateMsg(7306409, 4087145,5,0);"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/thumbs_up.gif" alt="vote 5" border="0" height="14px" width="14px" align="middle"></a> </span></td>
</tr>
</tbody></table></td>
</tr>
</tbody></table></td>
</tr>
</tbody></table></td>
</tr><tr>
<td><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/t_002.gif" alt="" border="0" height="5px" width="1px"></td>
</tr>
</tbody></table></td>
</tr><tr>
<td><table cellpadding="2px" cellspacing="0" width="100%">
<tbody><tr class="forum-footer">
<td>Last Visit: 1:13 20 Feb '12  &nbsp; &nbsp; Last Update: 1:12 20 Feb '12 </td><td class="nav-link" style="text-align: right; white-space: nowrap;"><input id="_mbnUrl" value="/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/?fid=1550265&amp;fr=11" type="hidden"><b>1</b><a class="toolbar" name="Frm_HoverNL" href="http://www.codeproject.com/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/?fid=1550265&amp;fr=11#xx0xx">2</a><a class="toolbar" name="Frm_HoverNL" href="http://www.codeproject.com/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/?fid=1550265&amp;fr=21#xx0xx">3</a><a class="toolbar" name="Frm_HoverNL" href="http://www.codeproject.com/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/?fid=1550265&amp;fr=31#xx0xx">4</a><a class="toolbar" name="Frm_HoverNL" href="http://www.codeproject.com/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/?fid=1550265&amp;fr=41#xx0xx">5</a><a class="toolbar" name="Frm_HoverNL" href="http://www.codeproject.com/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/?fid=1550265&amp;fr=51#xx0xx">6</a><a class="toolbar" name="Frm_HoverNL" href="http://www.codeproject.com/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/?fid=1550265&amp;fr=61#xx0xx">7</a><a class="toolbar" name="Frm_HoverNL" href="http://www.codeproject.com/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/?fid=1550265&amp;fr=71#xx0xx">8</a><a class="toolbar" name="Frm_HoverNL" href="http://www.codeproject.com/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/?fid=1550265&amp;fr=81#xx0xx">9</a><a class="toolbar" name="Frm_HoverNL" href="http://www.codeproject.com/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/?fid=1550265&amp;fr=91#xx0xx">10</a><a class="toolbar" name="Frm_HoverNL" href="http://www.codeproject.com/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/?fid=1550265&amp;fr=101#xx0xx">11</a> <a class="toolbar" name="Frm_HoverNL" href="http://www.codeproject.com/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/?fid=1550265&amp;fr=11#xx0xx">Next »</a></td>
</tr>
</tbody></table></td>
</tr>

</tbody></table><p class="small-text"><img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/msg_general.gif" alt="General" height="16px" width="16px" align="top"> General &nbsp;&nbsp; <img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/msg_news.gif" alt="News" height="16px" width="16px" align="top"> News &nbsp;&nbsp; <img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/msg_idea.gif" alt="Suggestion" height="16px" width="16px" align="top"> Suggestion &nbsp;&nbsp; <img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/msg_question_002.gif" alt="Question" height="16px" width="16px" align="top"> Question &nbsp;&nbsp; <img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/msg_bug.gif" alt="Bug" height="16px" width="16px" align="top"> Bug &nbsp;&nbsp; <img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/msg_answer.gif" alt="Answer" height="16px" width="16px" align="top"> Answer &nbsp;&nbsp; <img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/msg_joke.gif" alt="Joke" height="16px" width="16px" align="top"> Joke &nbsp;&nbsp; <img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/msg_rant.gif" alt="Rant" height="16px" width="16px" align="top"> Rant &nbsp;&nbsp; <img src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/msg_admin.gif" alt="Admin" height="16px" width="16px" align="top"> Admin &nbsp;&nbsp; </p><p class="small-text">Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.</p>

					
					<div class="theme1-background" style="height:2px"></div>

					<div class="extended tiny-text">
						<div class="row">
							<div class="float-left">
								<a id="ctl00_PermaLink" href="http://www.codeproject.com/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers">Permalink</a> | 
								<a id="ctl00_AdvertiseLink" href="http://lakequincy.com/">Advertise </a> |
								<a id="ctl00_PrivacyLink" href="http://www.codeproject.com/info/privacy.aspx">Privacy</a> |
								<a id="ctl00_Mobile" rel="nofollow" href="http://www.codeproject.com/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/?display=Mobile">Mobile</a>
								<br>
								
								Web02 |
								2.5.120217.1 |
								Last Updated 6 Nov 2009								
							</div>
							<div class="float-right align-right">
								Article Copyright 2009 by Predrag Tomasevic<br>Everything else
								Copyright © <a href="mailto:webmaster@codeproject.com">CodeProject</a>, 1999-2012 <br>
								<a id="ctl00_TermsOfUseLink" href="http://www.codeproject.com/info/TermsOfUse.aspx">Terms of Use</a>
							</div>

							


<div class="page-width">
Layout: <a id="ctl00_PageWidth_FixedT" title="Fixed width layout" rel="nofollow" class=" active" href="http://www.codeproject.com/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/?PageFlow=FixedWidth">fixed</a>
|
<a id="ctl00_PageWidth_FluidT" title="Fluid layout" rel="nofollow" href="http://www.codeproject.com/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers/?PageFlow=Fluid">fluid</a>
</div>



						</div>
					</div>
					

				<br clear="all">
		
				
				</div>

				<div id="ctl00_ContentSide" class="text-sidebar">
					

					

					

					<div style="width:160px;margin: 10px 0;">
						<div class="lqm_ad" lqm_publisher="lqm.codeproject.site" lqm_zone="ros" lqm_format="160x600" lqm_country="VN" lqm_tags=".NET2.0,C#1.0,C#2.0,.NET3.0,C#3.0,.NET3.5,ASP.NET,XML,Architect,Dev,Intermediate,PayPal"><iframe id="lqmad4" marginwidth="0" marginheight="0" frameborder="0" height="600" scrolling="no" width="160"></iframe></div>
					</div>

					
	<div class="announce">
	<div id="ctl00_RelatedArticles_RelatedResults_ctl00_header" class="announce-header">Related Articles</div>
	<div class="announce-content">	
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl01_Link" class="title" href="http://www.codeproject.com/KB/showcase/dundas_chartani.aspx">Creating animations with Dundas Chart for ASP.NET</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl02_Link" class="title" href="http://www.codeproject.com/KB/showcase/dundas_smartlabels.aspx">Smarter Data Labels with Dundas Chart SmartLabels</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl03_Link" class="title" href="http://www.codeproject.com/KB/showcase/Dundas_chartareas.aspx">Understanding Chart Areas with Dundas Chart for .NET</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl04_Link" class="title" href="http://www.codeproject.com/KB/showcase/DundasMap_AJAX.aspx">Making Sense of Geographic Data with Dundas Map and AJAX</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl05_Link" class="title" href="http://www.codeproject.com/KB/vbscript/gopal_code.aspx">DestroyWindow in VBScript</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl06_Link" class="title" href="http://www.codeproject.com/KB/vb/SmarLink.aspx">SmartLink</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl07_Link" class="title" href="http://www.codeproject.com/KB/showcase/HeraAppFramework.aspx">Create data-driven applications with the Hera Application Framework</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl08_Link" class="title" href="http://www.codeproject.com/KB/showcase/RedGate_SelfDocDatabase.aspx">Towards the self-documenting database: extended properties</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl09_Link" class="title" href="http://www.codeproject.com/KB/showcase/digitalsignatures.aspx">Digital Signatures and PDF Documents</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl10_Link" class="title" href="http://www.codeproject.com/KB/vb/Windows_Media_Player_COM.aspx">WMP Power Hour APP</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl11_Link" class="title" href="http://www.codeproject.com/KB/showcase/barcodes_in_docs.aspx">Using Barcodes in Documents – Best Practices</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl12_Link" class="title" href="http://www.codeproject.com/KB/winsdk/HowToRetrieve.aspx">How to Retrieve EMC Centera Cluster/Pool Capabilities</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl13_Link" class="title" href="http://www.codeproject.com/KB/winsdk/RightKeyboard.aspx">Using multiple keyboards with different layouts on the same machine</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl14_Link" class="title" href="http://www.codeproject.com/KB/showcase/dotimage_toolkit.aspx">"Hey! Is That My Car? How to Sharpen a QuickBird Satellite Image Using DotImage"</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl15_Link" class="title" href="http://www.codeproject.com/KB/showcase/sharpoint_federator.aspx">Integrate your SharePoint environment into the open standards-based WebSphere Portal platform using the Visual Studio IDE</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl16_Link" class="title" href="http://www.codeproject.com/KB/office/Excel-2007-dbf-files.aspx">VBScript / Excel 2007 - An easy way to access DBF files</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl17_Link" class="title" href="http://www.codeproject.com/KB/windows/wm_callhistory.aspx">Retrieving and Storing Call History</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl18_Link" class="title" href="http://www.codeproject.com/KB/macros/KnitAddIn.aspx">Knit - A Visual Studio Add-In</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl19_Link" class="title" href="http://www.codeproject.com/KB/system/excpt.aspx">Drivers, Exceptions and C++</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl20_Link" class="title" href="http://www.codeproject.com/KB/IP/gzTx.aspx">gzTx - A File Transfer Daemon</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl21_Link" class="title" href="http://www.codeproject.com/KB/files/ZipMaker1.aspx">Automating Multipart Zip File Creation</a>
		
	</div>
	
	</div>
	</div>
	


					

					
<div class="announce">
<div class="announce-header">The Daily Insider</div>
<div class="announce-content">

<div><a id="ctl00_News_News_ctl01_Link" href="http://citizen428.net/archives/434">30 free programming books</a></div>

Daily News: <a id="ctl00_News_News_ctl02_Subscribe" href="http://www.codeproject.com/Feature/Insider/">Signup now</a>.
</div>
</div>
		

				</div>

			</div>
			

		</div>
		

	</div>
</div>


<div style="display:none;" id="lqm_AdTable">
	
</div>

<script type="text/javascript" language="Javascript" src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/jquery.js"></script><script type="text/javascript">//<![CDATA[
if (typeof jQuery == 'undefined') {
    document.write(unescape("%3Cscript src='/script/JS/jquery-1.6.2.min.js' type='text/javascript' %3E%3C/script%3E"));
}//]]></script>
<script type="text/javascript" language="Javascript" src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/article.js"></script>
<script type="text/javascript" language="Javascript" src="Introduction-to-PayPal-for-C-ASP-NET-developers_files/m.js"></script>
<script type="text/javascript" language="Javascript">//<![CDATA[
var socialLinks = new social();
socialLinks.PlaceholderId="ATD";socialLinks.ObjectId=42894;
socialLinks.ObjectTypeId=2;
socialLinks.addtoMethod=1;
socialLinks.Horizontal=false;
socialLinks.Showname=true;
socialLinks.setupLinks("socialLinks", escape(document.location.href),escape(document.title), 100, 0, "small-text Bold", "AddTo");
socialLinks.setupMenu();
$(document).ready(function() {   $('.alert-bar').fadeIn('slow');   $('.alert-bar a.close-notify').click(function() {      $('.alert-bar').fadeOut('fast');        return false;    });});
if($.LqmAds)$.LqmAds();
var oSrchFlt = false, oSrchBox=false,srchBoxFoc=false;
$(document).ready(function() {
 InitWatermark('sb_tb', 'Search site');
 var sbar = $('#sb_tb'); 
 var sfilter = $('#SearchFilter');
 if (sbar && sfilter) {
  sfilter.removeClass('popup'); sfilter.hide();
  sbar.blur(function() { if (!oSrchFlt)sfilter.hide();srchBoxFoc=false; });
  sbar.focus(function() { oSrchFlt=false;srchBoxFoc=true;sfilter.show(); });
  sbar.mouseleave(function() { oSrchBox=false; });
  sbar.mouseover(function() { oSrchBox=true; });
  sfilter.mouseleave(function() { oSrchFlt=false; if (!srchBoxFoc&&!oSrchBox)sfilter.hide();});
  sfilter.mouseover(function() { oSrchFlt=true; });
 }
});
$(document).ready(function() { anchorAnimate(); });
$("#ctl00_RateArticle_RateItemWrapper").removeClass("container-rating");$('#clear-rate_ctl00_RateArticle_RCD').click(function () { $('#ctl00_RateArticle_RCD').hide(); return false;});
function PostBack_ctl00_RateArticle_RateItemWrapper() {
  return rateItem(42894,2,1,true,true,3);
}
function ChkRtctl00_RateArticle(val, objId) {if (val<=3||true) {
$('div[name=RateItem_' + objId + '] .rating-comment').css("display","");}
else $('div[name=RateItem_' + objId + '] .rating-comment').css("display","none");}


//]]>
</script>



<script type="text/javascript">
	var _gaq = _gaq || [];
	_gaq.push(['_setAccount', 'UA-1735123-1']);
	_gaq.push(['_trackPageview']);
	_gaq.push(['_setDomainName', 'www.codeproject.com']);
	_gaq.push(['_setSessionTimeout', '1200']); 

	(function () {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ga);
	})(); 
</script>



</div><canvas id="cv1" width="1px" height="1px" style="position: absolute; left: 0pt; top: 0pt; pointer-events: none;"></canvas><canvas id="cv2" width="1px" height="1px" style="position: absolute; left: 0pt; top: 0pt; pointer-events: none;"></canvas></body></html>